我使用GridView並實現多選。如何在Android中的GridView中使用多個選擇時隱藏菜單
當我從GridView中選擇多個項目時,它將在屏幕頂部顯示菜單。
但我不想在頂部顯示菜單。
我將GridView
設置爲CHOICE_MODE_MULTIPLE_MODAL
並實現了thr類MultiChoiceModeListener
。
是否有任何方法可以在選擇多個項目時隱藏菜單?
類的代碼是這樣設置的以下
public class LocalFileBrowserFragment extends Fragment implements MultiChoiceModeListener
的代碼的GridView
是這樣的:
private GridView fileListView;
fileListView = (GridView) view.findViewById(R.id.browserList) ;
fileListView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL);
fileListView.setMultiChoiceModeListener((MultiChoiceModeListener)this);
fileListView.setNumColumns(4);
和MultiChoiceModeListener
在GridView
的代碼是這樣的:
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
Log.i(TAG, "onCreateActionMode");
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
for (int i = 0; i < fileListView.getCount(); i++) {
fileListView.setItemChecked(i, false);
mSelectMap.clear();
}
mFileListAdapter.notifyDataSetChanged();
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
//Log.i(TAG, "onPrepareActionMode");
return true;
}
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
// TODO Auto-generated method stub
mSelectMap.put(position, checked);
mFileListAdapter.notifyDataSetChanged();
}
我設置了GridView
至CHOICE_MODE_MULTIPLE_MODAL
並執行thr類MultiChoiceModeListener
。
我不想在頂部顯示菜單。
是否有任何方法可以在選擇多個項目時隱藏菜單?
怎麼樣CHOICE_MODE_MULTIPLE代替CHOICE_MODE_MULTIPLE_MODAL? – Entreco
也許你的onCreateActionMode()必須返回false來防止動作模式被創建? – Entreco
我有嘗試,但它不起作用。 – Martin