单击后退按钮

时间:2017-07-20 21:13:16

标签: android android-activity master-detail

我通过点击放置在另一个活动(UserActivity)中的按钮来调用android中的Master / Detail活动。奇怪的是,如果我单击Master / Detail活动中的后退按钮,我会在UserActivity状态下松开Data。它想再次执行onCreate方法。

如果我点击LoginActivity中的登录按钮,我将其重定向到UserActivitiy并返回“智能手机”的后退按钮,我输入的用户名和密码仍然存在。所以我不会丢失数据。

智能手机的后退按钮与程序顶部的后退按钮有区别吗?我现在有点困惑,我知道如何坚持活动的状态。但我的问题是,为什么我一方面有这种行为而另一方面没有。

1 个答案:

答案 0 :(得分:0)

万一你会留下这样的问题并且不添加代码:

检查已经存在的物品数量可能会有所帮助。当我遇到这个问题时,onStart()被调用得如此之快,以至于我觉得Activity已经丢失了数据。实际上它是DID有数据,但是调用onCreate / onStart(I'在片段中)将它清空。

我为避免这种情况所做的是检查是否需要在列表中加载项目。如果存在,则调用包含旧onCreate / onStart所执行操作的方法。如果不需要加载数据,它将跳过该步骤并使用" old"数据幸福地度过了余生。

@Override
public void onStart() {
super.onStart();

    if(DummyContent.ITEMS.size()<3){
        initializeApp();
    }

}

void initializeApp(){
    videoTitles=new ArrayList<String>();
    videoUrls=new ArrayList<String>();
    . . .
}