1

ユーザーがListView. 基本的に、選択したアイテムのDBにtrueに設定されたフィールドがあるかどうかを確認しています。もしそうなら、私は余分なメニュー項目を追加します.

選択したアイテムのDBを照会してonItemCheckedStateChanged()、メニューを無効にしようとしました。onPrepareActionMode()これにより、必要に応じて追加のオプションを表示できる場所が呼び出されます。

DB 列が true に設定された状態で既に選択されているオプションは、特別な DB 列が false に設定されている項目が選択されたときに記憶されず、余分なメニュー項目が呼び出されたときに削除される onItemCheckedStateChanged()ため、これは機能しません。onPrepareActionMode()

どうすればこれに近づくことができますか?基本的にListView、追加のメニュー項目を表示できるように、DB の追加フィールドが true に設定されているすべての選択項目を記憶する方法が必要です。逆に、選択したListView項目にその DB フィールドがない場合は項目を削除します。

4

1 に答える 1

1

両方の種類のアイテムが一度に選択された場合 (たとえば、1 つがtruein db でもう 1 つがfalse) の状況をどのように処理するかを決定する必要があります。許可する場合は、アクティビティのどこかでボタンの状態を追跡します。アクティビティにプライベート整数メンバーを追加trueし、データベース内のアイテムが選択されるたびにこの数を増やし、そのようなアイテムが選択解除されるたびに減らします。ゼロの場合onPrepareActionMode- ボタンを表示しないでください。

于 2012-04-01T22:04:20.337 に答える