0

大家好,提前谢谢你,对不起我的英语。我有两个很大的疑问

1 - 我没有太多时间在 android 上编程,而且我很确定我做了很多事情都是错误的。例如,我制作了几个应用程序,其中在 xml 定义中我包含了另一个 xml。

例如,想象两个活动的 xml 定义中都包含 header_section.xml 的 2 个活动。该 header_section 有 5 个按钮和更多视图等。好的,在 xml 中只是包含一个包含并且它可以工作......但是要实现按钮......我必须在两个活动中重复代码吗? ? 在两个活动中复制代码听起来真的很糟糕……但是我该怎么做,例如在活动 A 和 B 中呢?我必须把这段代码放在两个活动类中完全相同吗????

private View header_section;
private Button bExample;

header_section=findViewById(R.id.header_section);
bExample=(Button)header_section.findViewById(R.id.bExample);

bExample.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {               
        //Whatwever...call a number, for example
    }
});

在主 xml 中类似于:

<LinearLayout 
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="0dp" >  
    <include android:id="@+id/header_section" android:layout_gravity="center" android:gravity="center" layout="@layout/header_section" />
</LinearLayout>

在 header_section.xml 中类似于:

<LinearLayout 
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="0dp" >  
        <Button android:id="@+id/bExample"  />
</LinearLayout>    

2 - 假设您的应用中有 10 个活动。如果在所有应用程序中都有一个具有相同功能的标题部分和底部部分,则只更改中心区域(显示不同的列表、视图等)......最好在所有应用程序中只有一个活动,并带有取景器在中心区域?或者有 10 个活动,我不知道是否可以避免,在第 1 点中询问,在所有 10 个活动中重复代码以实现标题和底部视图、处理程序等?

谢谢和最好的问候

4

1 回答 1

0

1)是的,通常,你应该使用它们,但你可以让它更简单......

1.a) bExample=(按钮)findViewById(R.id.bExample); //不需要加载视图

1.b)您可以在 LAYOUT 内的 button/clicable 元素中缩短调用 onclick 的方式,这是一个示例:

 <!--inside layout --> 
    <Button android:id="@+id/bExample"  android:onClick="aceptar" />

   //inside the Activity
   public void aceptar(View v){
       //here the code of the button
   }

有关在所有活动中实现相同方法的问题,请查看这篇文章:向多个活动添加相同的上下文菜单

2)根据应用程序如果您不做太多,您可以在同一个活动中加载所有内容并隐藏/显示您不想要的布局元素。但是最好使用不同的活动,无论如何,如果布局不是“重”(内部元素/包含太多),您可以为所有活动加载相同的布局,您只需要更改不同的内容(字符串)和/或隐藏/显示不同的元素。

于 2012-12-04T15:47:51.000 回答