私は立ち往生していますが、どこの場所でも解決策を見つけることができませんでした。 :(現在表示されているリストビューの項目でアニメーションが開始されない
IはBaseAdapterによって提供される私のリストビューの各項目の私のレイアウト(GridViewの)内部ImageViewのを有する。 画像がロードされ、Iは
imageView.setImageDrawable(newImage);
を用いImageViewのにロードBitmapDrawableを割り当てます
アイテム私は、簡単なアニメーションを割り当てることによってTransitionDrawable ORを使用して、新しいBitmapDrawableを割り当てた場合、何の問題もなく
をポップアップしかし:。
//this is inoperative - animation will not start for currently displayed items! No solution found :(
Animation a = LibResource.getResourceAnimation(activity, R.anim.fade_in);
imageView.setImageDrawable(newImage);
imageView.startAnimation(a);
私のGridViewの現在表示されている項目のアニメーションが開始されません。 GridViewを下にスクロールして、上記の項目にスクロールすると、画像が表示され、アニメーションが実行されました!
私はすでに次の修正しようとしました:私もアニメーションを割り当てた後、次のステートメントを試してみた
imageView.invalidateDrawable(newImage);
imageView.invalidate();
を - もちろん、私は割り当て、起動した後、UIスレッド上でそれらを呼ばれますアニメーションON UI-THREAD:
myGridView.invalidate();
myGridView.invalidateViews();
myGridView.getAdapter().notifyDataSetChanged();
前述したように、この問題は、ListView内の見えるアイテムに対してのみ発生します。
アニメーションまたはトランジションドラブルは、関連するすべてのビューでinvalidate()などを呼び出した後でも、開始しないのはなぜですか?
XPeria-Arc-S(APIレベル10)およびAndroidエミュレータAPIレベル8,9,10で問題が発生します。これはAndroidシステムのバグですか?
ご協力いただければ幸いです!事前に
おかげ
クリストファー
[OK]を - あなたの迅速な応答をありがとう。
私は、これは私の問題を解決しなかったことをポイントに来た:(問題を持って、仕事に、このために私のコードの構造を再編成の多くの時間後、 。このほかに
、そうではありません私は、ビューの作成時に内容を変更するために、適用または非常に実用的。たぶん、あなたはこの問題に関して、他のソリューションを持っている?
敬具
クリストファー
私は元の回答を元に戻しました。 –
ありがとうございました! :) 私はすぐに成功しないようにこの仕事をするためにすぐに私のコードのすべてを再編成することができませんでしたが、これは間違いなくそれを行う正しい方法です! :D –