我在用作导航抽屉的 Activity 中有一个片段。它包含的按钮可在单击时启动新 Activity (片段中的startActivity只是在当前 Activity 上调用startActivity)。
对于我的一生,我似乎无法弄清楚在开始新 Activity 后如何完成当前 Activity 。
我希望在片段中实现以下目标:
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if (view == mButtonShows) {
Intent intent = new Intent(view.getContext(), MyNewActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
}
但是似乎Fragment.class没有实现finish()(就像它实现了startActivity(...)一样)。
我希望在他们启动第二个 Activity 时清除 Activity 堆栈。 (因此,从新 Activity 中回退将在技术上将其放回启动器)
最佳答案
处理片段时,请始终使用this
而不是getActivity()
或引用上下文。你应该打电话
getActivity().finish();
从片段中完成您的 Activity 。