下記二つのコードにてそれぞれどのようなメリット、デメリットがありますか?
自分は独学で今まで2の方で書いていたのですが書籍にて1が書いてありました。
メソッドで書かずにインナークラスにするのはどんなメリットがあるのでしょうか?
よろしくお願いします。
コード1 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView = findViewById<TextView>(R.id.textVew) val listener = HelloListener() textView.setOnClickListener(listener) } //リスナクラスの作成 private inner class HelloListener: View.OnClickListener{ override fun onClick(view: View){ //ToDo } } }
コード2 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView = findViewById<TextView>(R.id.textVew) textView.setOnClickListener { hello() } } fun hello(){ //ToDo } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 05:23
2020/10/10 05:31