AndroidのListViewの各行を長押しでメニューを出す方法です。

コンテキストメニューにListViewを登録します。
1 2 3 4 5 6 7 |
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) registerForContextMenu(myListView) } |
メニューに削除を追加します。
1 2 3 4 5 6 7 8 9 10 11 |
override fun onCreateContextMenu( menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo? ) { super.onCreateContextMenu(menu, v, menuInfo) //削除メニューを追加。 menu?.add("削除") } |
選択時の処理を記載します。
1 2 3 4 5 6 7 8 9 10 11 |
override fun onContextItemSelected(item: MenuItem): Boolean { super.onContextItemSelected(item) val info = item.menuInfo as AdapterView.AdapterContextMenuInfo if(item.title == "削除"){ //ListViewのIDを取得できる。このIDをもとに削除を行う。 Log.v("a",info.id.toString()) } return true } |