每个布局一个类(新页面)?

时间:2014-06-06 11:35:51

标签: android layout shortcut

我想知道标准做法是否为每个布局文件(新页面)创建一个活动/片段类。 例如:

MainActivity.java

onCreate(){
    setContentView(R.layout.**start_page**)
}

而且当用户点击操作栏中的按钮(或屏幕上的其他按钮)时:

onOptionItemSelected() {
    switch XX -> case XX: setContentView(R.layout.**next_page**) 
}

我可以执行上述操作,而不是使用intent启动新的activity.java(包含新的layout.xml),或者使用fragment.java(还包含新的layout.xml)来扩展视图。

我可以看到上/下导航不适用于上面的代码,但这是你基本上必须为应用中的每个新页面创建两个文件(.java& .xml)的唯一原因。

2 个答案:

答案 0 :(得分:0)

是的,你可以在技术上做到这一点,但要注意,如果你已经创建了一个视图实例,可以说按钮,你更改布局按钮将为null,因为按钮不在你的视图中,并且还需要时间再次渲染布局。因此,最佳做法是开始新活动或仅创建片段。

答案 1 :(得分:0)

你可以这样做,但是每个视图都将在给定的Activity上,并且事件处理程序将在同一个类中,这不是真正的模块化。它可能变得非常臃肿,你将拥有一个2000行超类,因为它处理任意函数中的每一个按钮单击(或者更糟糕的是,在单个onClick函数中)。