我可以实现这两种变体——这很容易。但我很感兴趣:什么方法更好?
我的意思是,如果我的应用程序包含多个屏幕,我可以将它们制作为多个布局(XML 文件)并使用setContentView()
. 或者它们可以是几个类,比如MyActivity1
,MyActivity2
等等,我将使用Intent
类来切换它们。
所以我很好奇:最佳实践是什么?
我可以实现这两种变体——这很容易。但我很感兴趣:什么方法更好?
我的意思是,如果我的应用程序包含多个屏幕,我可以将它们制作为多个布局(XML 文件)并使用setContentView()
. 或者它们可以是几个类,比如MyActivity1
,MyActivity2
等等,我将使用Intent
类来切换它们。
所以我很好奇:最佳实践是什么?
记住这是经验法则:
最好在单个 Activity 下有相似的行为,但在行为不同时总是更喜欢不同的 Activity。
如果您使用几个不同的屏幕,我认为片段/活动将是一个更好的解决方案。Android 不仅包含此功能以帮助人们进行多项活动,而且还使您的代码更加简洁。米特拉总结得很好。
我认为在 Fragments 之前使用 setContentView() 是一种在兄弟“屏幕”之间移动的便捷方式,当您不希望后退按钮更改屏幕时。另一方面,通过 Intents 启动的活动将通过 Back 按钮从堆栈中弹出。
要清楚,请注意在 Activity B 中,您可以使用 setContentView 更改布局,Back 按钮将您带回 Activuty A。
ActivityA
|
|
|
V
ActivityB,Layout1 <---> ActivityB,Layout2 <---> ActivityB,Layout3