Я использую GridView
и устанавливаю MultiChoiceModeListener
.Как закрыть меню, когда я нажимаю кнопку?
Когда я выберу элемент из GridView, он назовет onCreateActionMode
и onActionItemClicked
, как следующий код.
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
View v = LayoutInflater.from(getActivity()).inflate(R.layout.actionbar_layout, null);
mActionText = (TextView) v.findViewById(R.id.action_text);
mActionText.setText(formatString(fileListView.getCheckedItemCount()));
mode.setCustomView(v);
getActivity().getMenuInflater().inflate(R.menu.action_menu, menu);
return true;
}
И menu
покажет, сколько вещь я выбрать, как на следующем рисунке.
При нажатии на кнопку, она будет передавать элемент, который я должен выбрать для нового Fragment
.
Следующий код для button
download_button = (ImageButton) view.findViewById(R.id.download_button) ;
download_button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Fragment fragment = DownloadPage.newInstance(null, null, null, checkedItems) ;
MainActivity.addFragment(FileBrowserFragment.this, fragment);
menu.finish(); //can not call menu.finish();
}
Но когда обращаются к новому fragment
, то menu
не исчез.
Как закрыть menu
, когда я нажимаю кнопку и переключаюсь на новый fragment
???
Но если я хочу, чтобы закончить с помощью кнопки не MenuItem? – Wun
Думаю, вам может не хватать точки действия режима действия. Идея заключается в том, что вы раздуваете специальное действие/контекстное меню. Если вы хотите использовать свою собственную кнопку, зачем вообще использовать режим действия? –