簡単にコードを知りたい人向け。
レイアウトファイルを作るときはAndroid Studioの機能を利用してレイアウトxmlファイルを作ると楽にできる。その作り方はこちら。
レイアウトファイルを作るときはAndroid Studioの機能を利用してレイアウトxmlファイルを作ると楽にできる。その作り方はこちら。
btnTest02.setOnLongClickListener {
//ポップアップメニューのインスタンスを生成し、context、ボタンのインスタンス(it)を渡す
PopupMenu(this, it).let { that ->
//レイアウトファイルの読み込み
that.inflate(R.menu.main)
//イベント発生時に実行するメソッドを登録
that.setOnMenuItemClickListener(this::test)
//ポップアップ表示
that.show()
}
//trueでこのあと実行されるclickイベントを無効
true
}
アイテムがクリックされると登録したメソッドが呼ばれる。itemにクリックされたアイテムが入っているのでitemidでitemを判断できるので、ここで処理を振り分けることができる。
fun test(item: MenuItem?): Boolean {
return when (item?.itemId) {
R.id.itm01 -> {
Log.v("nullpo","popup")
//trueでイベントはここで終了し、menuitemに割り当てられているイベントは実行されない
true
}
else -> {
false
}
}
}