【发布时间】:2013-12-27 09:32:00
【问题描述】:
我有三个片段 A,B,C 在片段A-a中,从服务器获取一些变量ID,然后我创建捆绑包,将ID放入其中并启动片段B,在此片段中,我从捆绑包中获取ID并通过该ID显示所有信息,但是当我启动片段C时然后我按下按钮返回并返回 ti 片段 B,变量 id 为空。我该如何解决?我想我可以将 id 保存在数据库中,但也许有更简单的方法? 我知道当我按下片段 C 时,片段 B 想要从包中获取信息,这就是我制作下一个的原因:
Bundle bundle = getArguments();
if (fakeID == null) {
fakeID = bundle.getString("fakeID");
}
已编辑:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState == null)
{
Bundle bundle = getArguments();
fakeID = bundle.getString("fakeID");
}
else{
fakeID = savedInstanceState.getString("fakeID");
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putString("fakeID", fakeID);
}
但是当我回到这个片段时 savedInstanceState == null 在这个语句中
if (savedInstanceState == null)
【问题讨论】: