我正在尝试使用一个按钮创建一个简单的菜单,该按钮将调用方法来清除数组.我不想使用xml,因为我只需要一个按钮.
像这样的东西 -
public boolean onCreateOptionsMenu(Menu menu) {
    button "Clear Array";
    onClick{// run method that wipes array};
    return true;
}
谢谢
Pau*_*aul 75
A-C的方法有效,但你应该避免手动设置点击监听器.特别是当你有多个菜单项.
我更喜欢这种方式:
private static final int MENU_ITEM_ITEM1 = 1;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(Menu.NONE, MENU_ITEM_ITEM1, Menu.NONE, "Item name");
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case MENU_ITEM_ITEM1:
        clearArray();
        return true;
    default:
        return false;
  }
}
通过使用这种方法,您可以避免创建不必要的对象(侦听器),并且我也发现此代码更易于阅读和理解.
A--*_*--C 27
像这样的东西可能会起作用:
public boolean onCreateOptionsMenu(Menu menu) {
  MenuItem item = menu.add ("Clear Array");
  item.setOnMenuItemClickListener (new OnMenuItemClickListener(){
    @Override
    public boolean onMenuItemClick (MenuItem item){
      clearArray();
      return true;
    }
  });
  return true;
}
Menu为我们提供了一个方便的方法,add()它允许您添加一个MenuItem.所以我们制作一个.然后我们分配OnMenuItemClickListener到MenuItem并覆盖其onMenuItemClick()做我们想做的事情.
Vik*_*kas 18
以编程方式,我能够使用以下代码创建一个简单的菜单.
private final int MenuItem_EditId = 1, MenuItem_DeleteId = 0;
@Override
  public boolean onCreateOptionsMenu(Menu menu){
    MenuItem edit_item = menu.add(0, MenuItem_EditId, 0, R.string.edit);
    edit_item.setIcon(R.drawable.edit);
    edit_item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    MenuItem delete_item = menu.add(0, MenuItem_DeleteId, 1, R.string.edit);
    delete_item.setIcon(R.drawable.delete);
    delete_item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    return super.onCreateOptionsMenu(menu);
}
在这里,我使用单击侦听器动态实现了弹出菜单。
    Dynamic_PopUpMenu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PopupMenu menu = new PopupMenu(DialogCheckBox.this, v);
            menu.getMenu().add("AGIL");  // menus items
            menu.getMenu().add("Dash");  // menus items
            menu.getMenu().add("AGILarasan");
            menu.getMenu().add("Arasan");
            menu.show();
        }
    });
| 归档时间: | 
 | 
| 查看次数: | 46104 次 | 
| 最近记录: |