膨胀视图并返回键android或onBackPressed()



final View view1 = getLayoutInflater().inflate( R.layout.activity, homescreen, false);

我们正在使用getLayoutInflater()来扩展活动中的自定义视图。所以流程是当用户点击一个按钮时,我们在相同的活动中删除一个视图并膨胀另一个视图。现在,这种方法的问题是,如果使用点击手机的返回键,应用程序就会停止活动。我们真正想要的是使用以前的布局。

  1. 有没有安卓提供的我们应该实现的方法
  2. 处理每个视图的SetOnKeyListner上的后退键
  3. 处理活动的onBackPressed()以查看当前处于哪个视图,并手动展开另一个视图
  4. 是否使用碎片事务
  5. 还有其他方法吗

我建议您使用碎片

你可以将片段添加到后台,这样你就可以在应用程序中管理你的后台导航。

1.我们应该实现android提供的方法吗?

没有。尽管替换"活动"中的视图是可以接受的,但没有方便的方法可以保留视图集合并在它们之间导航。

2.处理每个视图的SetOnKeyListner上的返回键

绝对不是。

3.处理活动的onBackPressed()以查看当前在哪个视图上,并手动膨胀另一个视图

只有在绝对必要的情况下才应该进行反向按压。你必须记住的是,安卓设备的用户会期望有规律的使用和感觉——偏离预期的行为太远可能会降低你的应用程序的吸引力。话虽如此,根据你的应用程序的功能,在活动级别处理BACK可能是可以接受的,但你仍然没有简单的方法来管理一堆视图。

4.使用碎片交易?

是的。绝对是首选方法。片段以模块化的形式结合了子活动功能和视图。操作系统还将为您处理后堆栈,使您在编写应用程序时的生活更加轻松。

最好的方法是使用ViewFlipper或Pager实现您的逻辑,在那里您可以在视图之间导航并通过按钮控制它们。考虑到您的场景,您可以通过触摸按钮更改视图或页面,这两个小部件都对此有很好的支持。

在反按过程中,您可以轻松地导航回上一页,直到它到达第一页,然后您可以简单地完成您的活动。

希望能有所帮助。

最新更新