我正在开发一个需要导航抽屉的应用程序
此应用程序有1个MainActivity和大约10个片段。当我单击MainActivity中的导航抽屉图标时,它将显示10个
片段
,以便我可以选择它们中的每一个。
我选择
fragment
A,然后选择B,然后选择C。。。例如,到F。当我在fragment
F中并按下后退按钮时,它将带我返回fragment
E,然后再次返回fragment
D。。。我需要的是,当我按下片段中的后退按钮时,它需要转到
导航抽屉中的默认主页。
我在SO上搜索,发现了1个类似的问题,但还没有答案,所以我不得不提出另一个问题
你试过了吗
try {
activity.getSupportFragmentManager().popBackStackImmediate(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
} catch (IllegalStateException e)
{
e.printStackTrace();
}
我想你可以试试这个。将此添加到onBackPressed()
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
for (int i = 0; i < getSupportFragmentManager().getBackStackEntryCount(); i++) {
getSupportFragmentManager().popBackStack();
}
} else {
super.onBackPressed();
}
嗨,下面是我的解决方案,
我使用下面的代码来更改片段:
fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
if (fragmentA == null)
fragmentA = new FragmentA();
fragmentTransaction.replace(R.id.container, fragmentA);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commitAllowingStateLoss();
如果您使用的是support portFrapse,请使用getBackportFragmentManager()代替getFragmentManager()。
当你们在那个时候执行反压操作时,把下面的代码放进你们的活动中,它包含了片段。
@Override
public void onBackPressed() {
super.onBackPressed();
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
希望这个答案能帮助你解决问题。
在我的应用程序中,我想在按下后退按钮时退出应用程序,这是我的代码: 它工作正常,但当我退出应用程序时,它不会完全退出,并显示带有我的应用程序徽标的空白页面,当我再次按下后退按钮退出应用程序,我如何修复它??? 编辑: 我使用这个代码而不是上面的代码,但我的应用程序完全退出,但我希望它在后台运行并且不完全退出,我该怎么做?
按下后退按钮,我试图从活动中退出应用程序。但问题是在按下返回键后,刷新相同的活动2到3次,进入登录活动,不退出应用程序。有人可以帮助解决这个问题。 以下是我必须尝试退出应用程序的方式。
问题内容: 我正在使用pushState为网站上的Ajax内容创建有意义的URL。我想在用户单击前进或后退按钮时刷新Ajax内容。但是我遇到了问题,因为Chrome(正确)在“历史记录遍历”(前进/后退按钮)和“结束”(页面加载)上都暗示了onpopstate。我想创建一个区分页面加载和历史遍历的onpopstate处理程序,因为如果已经成功加载Ajax内容,我就不希望刷新它。有人可以帮助我区分两
问题内容: 在我的应用程序中,我有两个活动。首先是启动屏幕,它仅显示应用程序名称和其他一些信息。单击初始屏幕活动后,我正在加载主要活动。我的应用程序运行正常,但遇到一个小问题。如果我从主要活动中按返回按钮,则控件将启动初始屏幕活动。但我不想再次显示启动画面活动,我想避免在按“后退”按钮时启动画面。 可能吗?如果可以,怎么办? 问题答案: 在文件中,在初始屏幕中添加属性。
问题内容: 我会尽力解释这一点。 我有一个应用程序可以在页面上显示50多个项目。用户可以单击单个项目,然后转到页面以更新项目信息。一切工作正常,除了在用户完成更新单个项目信息并在浏览器上单击“后退”按钮到上一个按钮之后。旧项目信息(更新前)仍然存在。用户必须单击刷新才能查看更新的信息。不错,但我希望提供更好的用户体验。有解决这个问题的主意吗?非常感谢。 问题答案: 我认为您必须使用JS才能使此工作
我是一个新手,我正在尝试创建一个应用程序来在我的投资组合中使用。本质上,该程序是一个可以访问不同菜单的菜单(json文件:texas_pick.js,Breakth.js…),该程序旨在以按钮的形式显示菜单选项,按钮的详细信息从各自的json文件中检索。我面临的问题是,单击菜单选项时,会检索最后一个菜单项的数据。我将后端编程为只将商品名称和价格推送到数据库,而前端则检索这些数据并将其显示在表上。检