私が達成したいこと:
- ユーザーが押したときにリスト項目が強調表示される
- ユーザーがそれを押すのをやめると、リスト項目:
- 押す前に選択されていなかった場合は、強調表示されたままになります
- 押す前に選択されていた場合は、ハイライトを失います
- 長いクリックは、ユーザーが押すのをやめたのと同じように動作します (以前の状態に応じてアイテムの背景を変更します)。
- 特定のアイテムを押さずにリストをスクロールすると、どのアイテムも強調表示されません
詳細:
- 私が読んだことについては、リストセレクターと状態android:state_activatedを使用して動作を実現できると思いますが、この状態は API レベル 11 で導入されました。私が探しているソリューションは API レベル 10 で動作する必要があります
- クリックに依存するソリューション(onItemClick、onClick ...)は機能しないと思います。これは、ユーザーがプレスを開始したときではなく、プレスを停止した後にクリックがトリガーされるためです(押された状態のように)。android:state_pressedを使用してアイテムのハイライトを変更すると永続的ではなく (プレスが終了すると元に戻ります)、android:state_pressedで変更してクリック時に永続的にすると、ちらつきが発生します
- API レベル 10 でそれを実現するアプリの良い例はTasksです。リスト内の項目をクリックまたはロングクリックするだけで、目的の動作を確認できます
それで、誰かがすでにそれを解決しましたか?Tasks アプリがどのようにそれを行うかについて何か考えはありますか?