0

2つのフラグメントを持つアプリがあり、すべてのフラグメントにリストビューがあります。リストから要素を選択すると、コンテキストメニューが自動的に表示され、イベントなどを処理します...これまでのところ問題はありますが、他のフラグメントに変更すると、コンテキストメニューが表示されたままになるため、ユーザーは次のように考えると混乱する可能性があります。これは、現在表示されているリストビューのコンテキストメニューです。

電話してみました

getActivity().closeContextMenu();

フラグメントを切り替えるときですが、機能しません。

どんな提案でも本当にありがたいです。

ありがとうございました!

4

1 に答える 1

0

私は解決策を見つけました:

MultiChoiceModeListener で ListView.CHOICE_MODE_MULTIPLE_MODAL を複数選択に使用しています。後で使用するためにアクションモードを保存します。

public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
   // item selected
   Log.d("FilesFragment.ContextMenu", "onItemCheckedStateChanged(); position: " + position);
   actionmode = mode; // <- I save the action mode for later use
   listadapter.getItem(position).setSelected(checked);
}

次に、ユーザーが別のタブフレームに変更したいことを検出したら、呼び出します

if (actionmode!=null){
  actionmode.finish();
}
于 2013-01-21T19:32:37.153 に答える