2015-11-23 11 views
7

CheckBoxを含む行を含むListViewがあります。このListViewにはフィルタリング動作が添付されています。これにより、フィルター条件の変更に応じて新しいデータを設定することによって(単純なsetData()メソッドを使用して)これらの行がリサイクルされます。これが発生すると、checkedの状態が変更されたリサイクルされた行は、そのCheckBoxを更新し、CheckBoxのLollipopアニメーションが引き込まれたり取り出されたりします。Lollipopでアニメーションを一時的に無効にするCheckBox

これがユーザーに気を散らす方法は多数あります。状態がプログラムによって更新されると、このアニメーションを一時的に無効にすることはできますか?

+0

状態を設定した後に 'clearAnimation'を呼び出すことを試みることがありますか? – Buddy

+0

ダイスはありません。私が似たような問題で読んだことに基づいて、アニメーションはファーストクラスのAndroidアニメーションではなく、Lollipop APIの関連するビューのスタイルの一部です。アニメーション効果を操作しようとして失敗した場合、それをサポートしているようです。 – jneander

+0

Reyclerviewでも同じ問題があります。アニメーションはスクロールの遅れを引き起こしています。なぜなら、リストのチェックボックスの多くはデフォルトでチェックでき、スクロールするときにbindviewholderがこれらのアニメーションをすべてトリガするからです。 – Jordy

答えて

5

setCheckedを呼び出した直後にCheckBoxでjumpDrawablesToCurrentState()を呼び出すと、アニメーションがスキップされます。

関連する問題