【发布时间】:2013-01-17 15:37:09
【问题描述】:
我有一个按钮:
<Button
android:id="@+id/bot_button1"
android:layout_width="120dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:textSize="24sp"
android:text="@string/bot_button1_tx" />
这是我的主要活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activity = this;
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.bot_button1);
button1.setOnClickListener(onClickListener);
Log.d(className, "onCreate");
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()){
case R.id.bot_button1:
showPopupMenu(v, 1);
break;
}
}
};
private void showPopupMenu(final View v, Integer i){
PopupMenu popupMenu = new PopupMenu(MainActivity.this, v);
switch (i) {
case 1:
popupMenu.getMenuInflater().inflate(R.menu.menu1, popupMenu.getMenu());
break;
}
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
new AlertDialog.Builder(activity).
setTitle("TITLE").
setMessage("MESSAGE").
setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO: user specific action
dialog.dismiss();
}
}).create().show();
return true;
}
});
popupMenu.show();
}
如何在选择popupmenu的项目时显示更多项目(单击)?理想情况:PopupMenu 在选择后仍然可见,并且新的 PopupMenu 出现在所选项目旁边。或弹出菜单展开以显示子项。
我尝试在 onMenuItemClick() 上引入第二个 PopupMenu,但它只替换了第一个 PopupMenu。
【问题讨论】:
-
在我正在创建的应用程序中,我相信我使用 PopupWindow 控件而不是 PopupMenu 控件创建了一个完全自定义的菜单系统。当然,我这样做是因为我想要一个完全自定义的外观和感觉,而我的却只需要一个级别。环顾四周,我没有看到任何信息表明屏幕上是否可以同时显示多个 PopupWindow 控件。
-
我在这里做类似的事情!!! stackoverflow.com/questions/16621070/…
标签: android onclick menuitem android-menu popupmenu