私のアプリには、アダプター付きの税関リストビューがあります。リストビューで、listItemが引き続きフォーカス可能であることを確認するためにfocusable =falseのチェックボックスを追加しました。OnCheckedChangeListenerで、list.setItemCheckedを呼び出して、コンテキストメニューがトリガーされることを確認します。行が選択されると(チェックボックスがない場合)、アクティビティが開始されます。(行の内容を編集するには)
私のアクティビティでは、アイテムが選択されたときにコンテキストメニューを開始するためのこれらの行があります(チェックボックス付き)
transactionList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
transactionList.setMultiChoiceModeListener(multiChoiceMode);
問題は、コンテキストメニューが表示されたときにCHOICE_MODE_MULTIPLE_MODALが原因で、行を再度クリックできないためです。行をクリックすると、行のみが選択または選択解除されます。
CHOICE_MODE_MULTIPLE_MODALの代わりにCHOICE_MODE_MULTIPLEを使用して自分でアクションを開始することを考えていましたが、自分がやりたいことを行うためのより良い方法があるかどうかわかりません。
実際、私が欲しいのはGmailアプリとまったく同じです。行を選択してカスタムアクション(削除、共有など)を行うことができますが、行をクリックして電子メールを表示することもできます。(コンテキストメニューがポップアウトされている場合でも)
前もって感謝します !
追伸 英語は私の母国語ではありませんが、私が言っていることはあなたが理解できると確信しています。(英語の間違いで事前に申し訳ありません)
編集によっていくつかのコードが追加されましたが、私は何をするのが最善かを理解したいだけです。このコードは、コンテキストメニューが開いているときに行をクリックできなかった古い方法の半分と、アクションバーを手動でトリガーするために行ったリファクタリングの半分のように使用されていることを知っています http://pastebin.com/Tig0qYcN
ちなみに、私のコードはgithubにあります
アクティビティ:https:// github [DOT] com / Dalto / PersonalBankManager / blob / master / PersonalBankManager / src / org / madduck / personalbankmanager / AccountFragment.java
私のgithubコードが変更される可能性があり、質問に関連しなくなる可能性があることに注意してください