我有一个活动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则Bundleofproduct 1具有ProductInfoDescription. product 2我不知道如何解决这个问题,当调用一个新的ProductDisplayActivity然后new ProductInfoFragment不应该每个片段都有自己Bundle的价值,因为不同的片段?