2つのボタンにポップアップメニューを使用したい。私が今それを達成している方法は、ボタンごとにそれぞれ膨張する2つの別々のxmlファイルpopup_menu1.xmlとpopup_menu2.xmlを作成することです。Popup-menu-1には2つのメニュー項目があり、popup-menu-2には4つのメニュー項目があります。写真は、より明確にするために追加されています。
popup_menu1.xmlには2つのメニュー項目、個別のxmlファイルがありますpopup_menu2.xmlには4つのメニュー項目、個別のxmlファイルがあります
各ファイルは、個々のボタンに対して膨らんでいます。
私の質問は次のとおりです。2つのボタンと2つの異なるpopup_menusに、2つの別々のxmlファイルではなく1つのxmlファイルのみを使用(膨張)できますか?
どんな助けでも大歓迎です。
ありがとうございました、
PS:より明確にするために写真を追加したかったのですが、新しいメンバーとして、彼らは私にそれを許可していません。
追加されたコード:popup_menu1:File1
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu001">
<group android:id="@+id/group_popupmenu">
<item android:id="@+id/menu1"
android:title="Today's Date"/>
<item android:id="@+id/menu2"
android:title="Custom Date"/>
</group>
</menu>
popup_menu2:File2
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu002">
<group android:id="@+id/group_popupmenu">
<item android:id="@+id/menu1"
android:title="Last Seven (07) Days"/>
<item android:id="@+id/menu2"
android:title="Today"/>
<item android:id="@+id/menu003"
android:title="Yesterday"/>
<item android:id="@+id/menu4"
android:title="Last Twenty Eight (28) Days"/>
</group>
</menu>
バージョン1の編集:アクティビティクラスのコード:
// add a click listener to the first button
startDateButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
PopupMenu popup = new PopupMenu (CampaignDetailsActivity.this, view);
popup.getMenuInflater().inflate(R.layout.popup_menu_01, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch(item.getItemId()){
case R.id.menu1:
// some code here
case R.id.menu2:
// some code here
}
return true;
});
popup.show();
}
});
// add a click listener to the end date button
endDateButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View button) {
PopupMenu popup = new PopupMenu (TestAdlikelyButtonsAndMenuActivity.this, button);
popup.getMenuInflater().inflate(R.layout.popup_menu2, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch(item.getItemId()){
case R.id.menu1:
// some code here
case R.id.menu2:
// some code here
case R.id.menu003:
// some code here
case R.id.menu4:
// some code here
}
return true;
}
});
popup.show();
}
});
画像: