大家好,提前谢谢你,对不起我的英语。我有两个很大的疑问
1 - 我没有太多时间在android中编程,我很确定我有很多错误的方法。例如,我已经制作了几个应用程序,其中在xml定义中我包含另一个xml。
例如,假设有两个活动xml定义中包含header_section.xml的活动。那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个活动。如果在所有这些中都有一个标题部分和底部部分具有相同的功能,只更改中心区域(显示不同的列表,视图等)......最好在所有应用程序中只有一个活动, viewflipper在中心区?或者有10个活动,我不知道是否可以避免,在第1点询问,在所有10个活动中重复执行标题和底部视图,处理程序等的代码?
谢谢和最好的问候
答案 0 :(得分:0)
1)是的,通常,你应该使用它们但是你可以使它更简单......
1.a)bExample =(Button)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
}
有关在所有活动中实施相同方法的问题,请查看以下帖子:Adding the same context menu to multiple activities
2)取决于应用 如果您没有做太多,可以在同一个活动中加载所有内容并隐藏/显示您不想要的布局元素。 但是最好使用不同的活动,无论如何,如果布局不是“沉重”(太多的元素/包含在里面)你可以加载所有活动的SAME布局,你只需要改变不同的内容(字符串)和/或隐藏/显示不同的元素。