Android 安卓:最好做很多活动,还是一个动态变化的活动?

Android 安卓:最好做很多活动,还是一个动态变化的活动?,android,android-layout,Android,Android Layout,如果我需要做10个类似的活动,我做得更好吗: 10个活动和10个布局 1个活动和10个布局 1活动,并在可见性消失/可见的情况下更改UI 我需要一个答案: 演出 礼节 如果您使用多个活动,您将获得使用android活动堆栈机制的优势。因此,如果您希望您的用户能够使用后退按钮导航,那么这是最好的选择 另外,如果您的活动非常相似,那么您可以在一个抽象类中实现公共代码,并使您的10个活动扩展这个公共类,从而共享一些代码 public abstract class CommonBehaviorAct

如果我需要做10个类似的活动,我做得更好吗:

  • 10个活动和10个布局
  • 1个活动和10个布局
  • 1活动,并在可见性消失/可见的情况下更改UI
我需要一个答案:

  • 演出
  • 礼节

  • 如果您使用多个活动,您将获得使用android活动堆栈机制的优势。因此,如果您希望您的用户能够使用后退按钮导航,那么这是最好的选择

    另外,如果您的活动非常相似,那么您可以在一个抽象类中实现公共代码,并使您的10个活动扩展这个公共类,从而共享一些代码

    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
    中的该适配器,以及对其进行配置(绑定侦听器,等等)



    另一方面,如果您希望在活动之间进行快速切换,并且不需要使用按钮“返回”,那么visible/gone view可能会更好。

    进行多个活动将使代码更可读,更易于调试,因为您不会处理过多的if和else条件。不会有性能开销:活动加载速度快,Android通过在需要时终止暂停的活动(单个活动不会出现这种情况)来管理后台并释放内存


    如果您的活动相似,您可以将功能放在单独的类中,并在活动中重复使用它们。Idem对于布局,您可以对其进行设计,以便重复使用公共部分。

    如果您想显示动态UI,也可以使用片段。您可以动态更改片段中的内容,也可以更改片段本身。您可以始终保持某些片段可见,而其他片段不活动。在这种情况下,您只需要一个活动和多个片段


    这将取决于您希望如何绘制应用程序的UI。可用的片段示例是

    编写多个活动可能会更容易,并且您可以从诸如OnResume()之类的事件中获益。如何使用公共部分?例如如果每个版面都有相同的标题+图片,我如何将其用于每个版面?我用一个示例代码修改了上面的答案,该代码显示了如何在父类中共享常见行为。听起来很酷。。但我知道fragment在Android2.3中不起作用,对吗?不,fragment在Android1.6及更高版本中起作用。您可以使用支持库。请看Android博客上的这篇文章:活动已经全部结束。。但是布局呢?当我做xml布局时,我可以做一个“标题+图标部分”布局,每个布局都是相同的吗?我理解这是碎片的东西,对吗?(对不起我的英语:()好的,我找到了..这里有使用其他xml片段的方法..ty