我在中扩展AbsListView.MultiChoiceModeListener
了多项选择功能ListView
,我想动态地更改操作菜单(当ListView
选择了一项以上时)。
private class ModeCallback implements ListView.MultiChoiceModeListener {
//inflate menu
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.compose_multi_select_menu, menu);
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
//want to remove some menu here, but not work
if (getListView().getCheckedItemCount() > 1) {
MenuItem item = menu.getItem(5);
menu.removeItem();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试删除MenuItem
中onPrepareActionMode()
,但不起作用。也尝试 mode.invalidate()
过onItemCheckedStateChanged()
。
其实,我在找onPrepareActionMode()
的menu
传递没有MenuItem
在所有。
有人可以帮忙吗?
您可以通过显示或隐藏如下项来修改onItemCheckedStateChanged()中的菜单:
Menu menu = mode.getMenu();
menu.findItem(R.id.some_item_id).setVisible(false);
Run Code Online (Sandbox Code Playgroud)
其中,mode
被ActionMode
传递到onItemCheckedStateChanged
归档时间: |
|
查看次数: |
848 次 |
最近记录: |