我在活动中添加片段。用户从一个片段屏幕按下后退按钮。我需要退出应用程序,任何人都可以告诉我该怎么做?
由于
答案 0 :(得分:1)
您可以使用以下方法退出fragment
getActivity().moveTaskToBack(true);
getActivity().finish();
这可能会对你有所帮助
答案 1 :(得分:0)
3个步骤:
按下后退按钮,清除一系列活动,以便您的活动位于其后面,然后关闭它。
@Override
public void onBackPressed() {
moveTaskToBack (true)
finish();
}
答案 2 :(得分:0)
private Toast toast;
private long lastBackPressTime = 0;
@SuppressLint("WrongConstant")
@Override
public void onBackPressed() {
int fragments = getFragmentManager().getBackStackEntryCount();
if (fragments == 0) {
// make layout invisible since last fragment will be removed
if (this.lastBackPressTime < System.currentTimeMillis() - 3000) {
toast = Toast.makeText(this, "Press back again to close this app", 3000);
toast.show();
this.lastBackPressTime = System.currentTimeMillis();
}else{
if (toast != null) {
toast.cancel();
}
super.onBackPressed();
}
}else{
if (toast != null) {
toast.cancel();
}
super.onBackPressed();
}
}
答案 3 :(得分:0)
当您可能添加/替换了多个片段时,一种安全的方法是计算后退堆栈并通过以下方法退出:(这将在主要活动内部)
array[1..nShows] of var int: start;
constraint cumulative(start, length, tv, 2);
这样,如果您在不是主片段的片段上按 BACK ,则只会删除该片段,一旦到达最低片段(添加的第一个片段),它将调用@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
getSupportFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}
的超类,可能是您的onBackPressed
,然后在此 BaseActivity 中添加以下内容:
.. BaseActivity extends AppCompatActivity
答案 4 :(得分:-1)
您的Activity
会检测到按下后退按钮
试试这段代码:
@Override
public void onBackPressed() {
finish();
}
答案 5 :(得分:-2)
使用getActivity.finish()我从应用程序退出