我有3项活动 第一个A包含一个包含Spinner的片段A1 当我单击Spinner时,我将转到Activity B,其中包含一个Button。 当我点击按钮时,将转到活动C.
我挖掘了活动C的OnBackPressed
(
Super OnBackPressed()
Intent i = new intent (this,ActivityB.class)
Finish();
StartActivity i
}
我覆盖了活动B的OnBackPressed
(
Super OnBackPressed()
Intent i = new intent (this,ActivityA.class)
Finish();
StartActivity i
}
我覆盖了活动A的OnBackPressed
(
Super OnBackPressed()
Finish();
}
我的问题是,当我在活动A中时,每次单击Android的返回按钮时,应用程序都不会退出并转到我的旧Spinner选项。
我必须点击几次才能真正退出。
当我在Fragment A1中时,只需点击Android返回按钮,我该怎么做才能离开应用程序?
答案 0 :(得分:1)
您可以使用getActivity().finish();
Fragment
答案 1 :(得分:0)
您可以尝试在转移到其他活动之前完成当前活动。
例如:在活动A中,单击微调器,在内部单击,启动活动B,然后调用finish();这将启动活动B并完成活动A.
通过这种方式,您将最终完成一项活动。一旦你回复,你将直接退出申请。
答案 2 :(得分:0)
在活动A中,您可以执行此操作以确保清除后台堆栈,因此您的应用程序不会选择旧的微调器。
在你的onCLickListener
中Context context = view.getContext();
Intent intent = new Intent(context, ActivityB.class);
startActivity(intent);
finish(); // call this to finish the current activity
或者您也可以在清单
中执行此操作<activity android:name=".ActivityA" android:noHistory="true" ... />
答案 3 :(得分:0)
在处理片段时,始终使用getActivity()
,而不是使用此文本或引用。你应该打电话
getActivity().finish();
从片段中完成您的活动。