我在用作导航抽屉的 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 。

10-07 19:14
查看更多