我有一个活动ProductDisplayActivity
,里面有一个片段。这个片段是在onCreate
我的活动方法中创建的,如下所示:
ProductInfoFrag = new ProductInfoFragment();
ProductInfoFragmentListener = (ProductRetrieveInfoInterface) ProductInfoFrag;
FragmentTransaction InitialTransaction = fm.beginTransaction();
InitialTransaction.add(R.id.product_info_frame, ProductInfoFrag);
InitialTransaction.commit();
在片段中,通过一个接口,我调用了这个函数:
@Override
public void DownloadProductInfo(String ProductInfoDescription) {
ProductInfo.setText(Html.fromHtml(ProductInfoDescription));
SavedString = new Bundle();
SavedString.putString("SavedString", ProductInfoDescription);
}
我想保存,ProductInfoDescription
以便在替换 frament 时可以从中重新创建视图Bundle
,所以onResume
我有:
@Override
public void onResume() {
if(SavedString != null){
ProductInfo.setText(Html.fromHtml(SavedString.getString("SavedString")));
}
super.onResume();
}
然后我有一个ResultsList
使用产品列表调用的活动,单击时我再次ProductDisplayActivity
使用不同的值开始新的意图调用。
问题:
我的问题是,如果我从导航product 1
到product list
然后到product 2
然后尝试按 后导航,back button
则Bundle
ofproduct 1
具有ProductInfoDescription
. product 2
我不知道如何解决这个问题,当调用一个新的ProductDisplayActivity
然后new ProductInfoFragment
不应该每个片段都有自己Bundle
的价值,因为不同的片段?