在 Main.xml 中有兩個 layout xml 文件,有一個按鈕名稱是android:id="@+id/btnClose"
在 About.xml 中也有一個按鈕名稱是 android:id="@+id/btnClose"
這樣行嗎?
Main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="3dip"
android:layout_marginTop="3dip"
android:background="#DCDCDC" >
<Button
android:id="@+id/btnClose"
style="@style/myTextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/exit" />
</RelativeLayout>
About.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="3dip"
android:paddingLeft="7dip"
android:background="@drawable/border_ui"
android:orientation="vertical" >
<Button
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="@style/myTextAppearance"
android:text="@string/myreturn" />
</LinearLayout>
當然可以啊。即使是同一個布局裡也可以使用相同的ID。
具有相同ID的View,如果它們隸屬於不同布局,程序運行時這些同ID View將隸屬於不同的對象,findViewById會依據調用它的對象來區分這些View;如果它們在同一個布局裡,使用findViewById方法通常會得到最前面的那個(整個布局會組織成一個樹形結構,findViewById方法從根View開始往下查找,查到第一個就返回)。