当onBackPressed()
问题描述:
我有一个GridView
动画的重新启动动画。当我们启动activity
animation
工作时,如果我们转到其他活动,那么我需要动画以与启动时相同的方式重新启动。现在当按下“后退”按钮时,它将转到上一个活动,但上述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);
答
从你的描述,我认为你把上面的代码到你的活动onCreate()
方法。尝试将它放入onResume()
,而不是每次活动恢复时调用(导航返回,在您的情况下),而不是onCreate()
。
答
通过这个链接ActivityLifeCycle
这仅仅是因为我假设你写上的onCreate代码();当你开始活动时,它只会在您切换活动并返回时调用onCreate(),您的状态将更改为onResume(),以便动画代码停止工作。
您需要编写代码onResume()
当您启动活动并且每当您回到活动时都会调用该方法。
当活动首次加载事件作为下面称为:
onCreate()
onStart()
onResume()
当开关活性
onPause()
当回活性
onResume()
注意:有一点需要注意的是,onresume()在配置更改发生时也会被调用。将代码放入onResume()将使您在旋转设备时再次播放动画。 根据您的要求,您可能需要避免这种情况。
在活动的onResume()中执行此操作。 – SripadRaj