我目前正在编写抽屉布局作为我的主要布局,带有嵌入式FrameLayout,当点击抽屉上的项目时,我将用它来保存每个“页面”。当应用程序首次启动时,将显示一个初始片段。其他片段可以在以后添加/替换,这很好,但是,我的问题是当用户点击第一个“初始片段”上的后退按钮时,我不希望从布局中删除该特定片段。目前,它正被删除,它只显示抽屉布局,没有其他内容(这是有道理的)。我希望应用程序自动退出,如果最初的片段是显示的最后一个片段并按下后退按钮,而不是删除该初始片段,然后在另一个后面按下,然后退出。
我想过的事情:
有没有人建议这样做或者想出更好的方法?感谢
答案 0 :(得分:3)
第一个子弹点听起来最干净。你没有其他需要在背部被击中时处理条件,对吗?如果是这种情况,则代码行数较少(删除一行代码而不是添加多行代码),您可以按原样保留默认的Activity方法。
我知道这不完全是你提出的要求,但我认为第一个要点是如此干净,以至于我不会尝试别的东西。
答案 1 :(得分:0)
我使用自己的Stack片段在其中一个app中实现了相同的功能。并且还实现了onBackPressed方法。
每当用户点击抽屉中的项目时,我会在堆栈中添加片段,并在其长度为1时按下后按我的信息完成活动。
单击项目 - 在容器中添加/替换片段。
OnBackPressed - 从堆栈中弹出片段,最后一个片段完成活动。
希望这可以为您提供另一种选择。