我有一个名为A的活动, 在这里,有一个ListView和一个按钮。单击此按钮后,将显示列表视图,通过单击其项目,从列表视图中,我可以移至活动B.
现在问题出现在我从活动B回来时 - >活动A然后,我看到Button只有列表视图。
因为我打算调用活动A的意图..
代码
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i;
i = new Intent(B.this, A.class);
startActivity(i);
finish();
super.onBackPressed();
}
在Activity B中,我有上面的实现,我也在On Pause()条件下使用finish()。
我希望看到带有按钮的列表视图。 我是否需要再次调用整个代码来显示ListView,还是有其他方法来解决这个问题? 有没有办法保存以前的活动视图?
答案 0 :(得分:0)
你正在创建你的活动,因为你称之为完成 方法,当你回去它调用onCreate而不是它应该调用 onResume生命周期方法。
答案 1 :(得分:0)
只做一件事。从你的代码中删除完成()
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i;
i = new Intent(B.this, A.class);
startActivity(i);
super.onBackPressed();
}
答案 2 :(得分:0)
因为您在切换到Activity A
之前完成Activity B
。如果您想要ListView
,请不要完成Activity A
,然后尝试。如果您的数据仍然无法显示,请再次在活动A的onResume()
中绑定您的列表视图。
//removed finish().
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(B.this, A.class);
startActivity(i);
super.onBackPressed();
}
答案 3 :(得分:0)
onResume在活动开始时或根据Activity的生命周期从另一个活动返回时调用,最好将代码保存在onResume中,这将使用数据重新填充listview。
当你从A调用活动B时(在活动A中填充你的listview里面的onResume方法),当你按回来时,它再次调用onResume并填充你的列表视图。
而是#在活动B的onBackPressed中执行代码。