ButtonとListViewのリスナーについて
ButtonとListViewにつけるリスナーが紛らわしいので整理
Button
ButtonにつけるリスナーはsetOnClickListenerである。
そしてListenerインスタンスはView.OnClickListenerを使えば良い。
使用例 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btClick = findViewById<Button>(R.id.btClick) val listener = TapOnClickListener() btClick.setOnClickListener(listener) } private inner class TapOnClickListener:View.OnClickListener{ override fun onClick(view:View){ val input = findViewById<EditText>(R.id.etName) val inputStr = input.text.toString() val output = findViewById<TextView>(R.id.tvOutput) } } }
ListView
ListViewにつけるリスナーは、onItemClickListenerである。
そしてListenerインスタンスはAdapterView.OnItemClickListenerを使えば良い。
使用例 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val lvMenu = findViewById(R.id.lvMenu) lvMenu.onItemClickListener = ListItemClickListener() } private inner class ListItemClickListener: AdapterView.OnItemClickListener{ override fun onItemClick(parent:AdapterView<*>, view: View, position: Int, id: Long) { val item = parent.getItemAtPosition(position) as String Toast.makeText(applicationContext, item, Toast.LENGTH_LONG).show() } } }