0

アニメーションのあるGridViewがあります。 activityanimation作品を公開すると、そこから別のアクティビティに行くと、起動時と同じ方法でアニメーションを再開する必要があります。 Backボタンを押すと前のアクティビティに戻りますが、前述のGridViewのアニメーションはありません。ここでは、コードです:あなたの説明からonBackPressed()の前のアクティビティのアニメーションを再開します

CustomGrid adapter = new CustomGrid(Grids.this, web, imageId); 
grid = (GridView) findViewById(R.id.grid); 
grid.setAdapter(adapter); 
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.grid_item_anim); 
controller = new GridLayoutAnimationController(animation, .2f, .2f); 
grid.setLayoutAnimation(controller); 
+0

これは、アクティビティの 'onResume()'で行います。 – SripadRaj

答えて

0

、私はあなたがあなたの活動のonCreate()方法に上記のコードを置くことを前提としています。 onResume()に入れてみてください。onCreate()ではなく、アクティビティが(あなたの場合はナビゲートされた)に再開されるたびに呼び出されます。このリンクを介して

2

ゴーActivityLifeCycle

私はあなたがのonCreateであなたのコードを書いたと仮定しているという理由だけで、それを();アクティビティを開始すると、アクティビティを切り替えて戻ったときにonCreate()が1回だけ呼び出され、状態がonResume()に変更され、アニメーションのコードが機能しなくなります。

あなたのコードをonResume()に書き込む必要があります。あなたがアクティビティを開始したとき、またアクティビティに戻ったときに呼び出されるメソッド。

活性初めてイベントは以下のように呼ばれているロード:

バック活性
onCreate() 
onStart() 
onResume() 

スイッチ活性

onPause() 

onResume() 

メモ:注意しなければならないことは、構成の変更が発生したときにもonResume()が呼び出されることです。 onResume()にコードを挿入すると、デバイスを回転させるとアニメーションが再び再生されます。 要件に応じてこれを避けるかどうかを決めることができます。

関連する問題