我有一个显示衣服列表的HomeActivity,点击其中一个打开DetailsActivity,在左侧显示其详细信息。在右侧,我展示了更多衣服的清单,“你可能也喜欢这些:”。
点击其中一件推荐的衣服后,我想在当前打开另一个DetailsActivity,而不是替换它的内容。
当用户按下“返回”按钮时,我想在HomeActivity之前将每个细节拆开。
我该怎么做?我查看了所有Intent标志,并没有看到找到方法。
- = UPDATED = -
我尝试了片段而不是活动,但是当我旋转屏幕时片段的堆栈就丢失了。
FragmentDetails fDetails = new FragmentDetails();
Bundle args = new Bundle();
args.putInt(FragmentDetails.BILLING_ID, billingId);
fDetails.setArguments(args);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(android.R.id.content, fDetails, UUID.randomUUID().toString());
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
这是打开相同Activity的方法,它不起作用:
Intent intent = new Intent(this, ActivityDetails.class);
intent.putExtra(ActivityDetails.BILLING_ID, billingId);
startActivity(intent);
答案 0 :(得分:1)
您应该以其他方式处理此问题,例如交换片段或仅使用新数据(布料细节)更新视图,而不是重新打开活动。
如果你真的需要,你可以开始新的活动并完成旧活动。
startActivity(yourIntent);
finish();
这样,如果用户按下,应用程序将转到主视图。