Android 在OnBackpress()时重新启动上一个活动的动画

Android 在OnBackpress()时重新启动上一个活动的动画,android,android-activity,android-animation,android-gridview,Android,Android Activity,Android Animation,Android Gridview,我有一个带有动画的GridView。当我们启动活动时,动画工作,如果我们转到另一个活动,我需要动画以启动时的相同方式重新启动。现在,当按下后退按钮时,它将转到上一个活动,但前面提到的GridView没有动画。代码如下: CustomGrid adapter = new CustomGrid(Grids.this, web, imageId); grid = (GridView) findViewById(R.id.grid); grid.setAdapter(adapter); Animatio

我有一个带有动画的
GridView
。当我们启动
活动
时,
动画
工作,如果我们转到另一个活动,我需要动画以启动时的相同方式重新启动。现在,当按下后退按钮时,它将转到上一个活动,但前面提到的
GridView
没有动画。代码如下:

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);

根据您的描述,我假设您将上面的代码放入活动的
onCreate()
方法中。尝试将其放入
onResume()
中,而不是从您的描述中,我假设您将上面的代码放入活动的
onCreate()
方法中。请尝试将其放入
onResume()
,而不是
onCreate()
,通过此链接,每次活动恢复时(在您的情况下,导航回)都会调用它

这仅仅是因为我假设您是在onCreate()上编写代码的;当您启动活动时,它只调用onCreate(),当您切换活动并返回时,您的状态将更改为onResume(),因此动画代码停止工作

您需要在
onResume()
方法中编写代码,该方法在启动活动时以及返回活动时调用

当活动第一次加载时,事件调用如下:

onCreate()
onStart()
onResume()
切换活动时

onPause()
返回到活动时

onResume()
注意:需要注意的一点是,配置更改时也会调用onResume()。将代码放入onResume()将导致在旋转设备时再次播放动画。 根据您的要求,您可能希望避免此问题。

浏览此链接

这仅仅是因为我假设您是在onCreate()上编写代码的;当您启动活动时,它只调用onCreate(),当您切换活动并返回时,您的状态将更改为onResume(),因此动画代码停止工作

您需要在
onResume()
方法中编写代码,该方法在启动活动时以及返回活动时调用

当活动第一次加载时,事件调用如下:

onCreate()
onStart()
onResume()
切换活动时

onPause()
返回到活动时

onResume()
注意:需要注意的一点是,配置更改时也会调用onResume()。将代码放入onResume()将导致在旋转设备时再次播放动画。 根据您的需求,您可能希望避免此操作。

在活动的
onResume()
中执行此操作。在活动的
onResume()中执行此操作。