ビューにいくつかのウィジェットがあり、それぞれに独自のActionModeが必要です。ユーザーがアクションバーの外側をタップしても、ActionModeが自動的に閉じないことがわかります。したがって、ユーザーが1つのコントロールに対してActionModeを開始し、次に別のコントロールをタップして(私の場合はロングクリック)、最初のコントロールの上に2番目のActionBarをスタックすることは簡単に可能です。これにより、プログラミングロジックが大混乱になります。
アクティビティレベルのメンバー変数を使用して現在のActionModeを追跡し、新しいものが必要な場合は現在のActionModeを閉じることができます。ただし、これにより、コードの読み取りと保守が煩雑になります。さらに、ユーザーがアクションバーの外側をタップしたときにすぐに閉じたいと思います。
これを処理するための良い方法に関する提案はありますか?