Androidアプリケーションにポップアップメニューを実装しました。ポップアップメニューのxmlを作成しましたが、コードも正常に機能します。今、私が理解できないのは、ポップアップメニュー項目の処理方法です。 。PopupMenu.OnMenuItemClickListenerを使用しようとしましたが、成功しませんでした。どうすればよいですか?
ポップアップメニューのコード
ImageButton button = (ImageButton) view.findViewById(R.id.popUp_song);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popup = new PopupMenu(activity, v);
Menu m = popup.getMenu();
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.song_popup, popup.getMenu());
if (audio.getDownload().equals("0")) {
m.removeItem(R.id.add_download);
}
popup.show();
}
});
xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
style="@style/ToolBarStyle">
<item
Android:id="@+id/add_queue"
Android:title="Add to queue" />
<item
Android:id="@+id/play_next"
Android:title="Add to favourite" />
<item
Android:id="@+id/add_download"
Android:title="Download" />
</menu>
PopupMenu
を表示する前に、クリックイベントを処理するためのPopupMenu
のリスナーを追加します。
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(getApplicationContext(),
item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
});