如果我需要做 10 次类似的活动,我这样做会更好:
- 10个活动,10个布局?
- 1个活动和10个布局?
- 1个活动并更改可见性消失/可见的UI?
我需要一个答案:
- 表现
- 形式
如果我需要做 10 次类似的活动,我这样做会更好:
我需要一个答案:
如果您使用多个活动,您将获得使用 android 活动堆栈机制的优势。因此,如果您希望您的用户能够使用后退按钮进行导航,那么这是最好的选择。
另外,如果你的activity非常相似,那么你可以在一个抽象类中实现通用代码,并让你的10个activity扩展这个通用类,从而共享一些代码。
public abstract class CommonBehaviorActivity extends Activity {
protected void buildCommonThings() {
((TextView)findViewById(R.id.title)).setText(getTitle());
((ImageView)findViewById(R.id.image)).setDrawable(...);
}
abstract protected String getTitle();
}
public class MyActivity1 extends CommonBehaviorActivity {
...
protected String getTitle() {
return "Title 1";
}
}
等等...
编辑:添加了一些示例代码来展示如何分享您希望在每个子活动中看到的内容。例如,如果您在每个活动中都有一个列表,那么您可以在getAdapter()
方法中的子活动中定义一个特定的适配器,并将您的列表绑定到该适配器CommonBehaviorActivity
以及对其进行配置(绑定侦听器,等等。 ..)
另一方面,如果您想在您的活动之间进行非常快速的切换,并且您不需要能够使用按钮“返回”,那么可见/消失视图可能会更好。
进行多个活动将使您的代码更具可读性和更易于调试,因为您不会处理过多的 if 和 else 条件。不会有性能开销:活动加载速度很快,Android 管理后台堆栈并通过在需要时终止暂停的活动来释放内存(单个活动不会出现这种情况)。
如果您的活动相似,您可以将功能放在单独的类中,并在活动中重复使用它们。布局同上,您可以设计它们,以便您可以重复使用公共部分。
如果要显示动态 UI,也可以使用片段。您可以动态更改片段中的内容,也可以更改片段本身。您可以始终保持某些片段可见而其他片段不活动。在这种情况下,您只需要一个活动和多个片段。
这将取决于您希望如何绘制应用程序的 UI。片段示例可用在这里