回到之前的活动状态

时间:2013-10-15 05:24:32

标签: android android-layout view android-listview

我有一个名为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,还是有其他方法来解决这个问题? 有没有办法保存以前的活动视图?

4 个答案:

答案 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中执行代码。