2011-04-06 106 views
0

fI已经创建了两个布局文件。第一个是main.xml中Android布局文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> 
     <ImageButton android:src="@drawable/add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/addBtn" ></ImageButton> 
     <ImageButton android:src="@drawable/remove" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/remBtn"></ImageButton> 
    </LinearLayout> 
    <ListView android:layout_height="wrap_content" android:id="@+id/myListView" android:layout_width="match_parent" 
    android:background="#676767" > 

    </ListView>  
    <Button android:text="Add" android:id="@+id/dialogAddBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"></Button> 
</LinearLayout> 

,第二个是dialog.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:orientation="vertical"> 
    <EditText android:id="@+id/dialogEditText" android:text="Enter Your Text Here" android:layout_height="wrap_content" android:layout_width="match_parent"></EditText> 
    <DatePicker android:id="@+id/datPicker" android:layout_height="wrap_content" android:layout_width="match_parent" ></DatePicker> 
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> 
    <Button android:text="Add" android:id="@+id/dialogAddBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"></Button> 
    <Button android:text="Cancel" android:id="@+id/dialogCancelBtn" android:layout_width="200px" android:layout_height="wrap_content" android:layout_centerHorizontal="true"></Button> 
    </LinearLayout> 
</LinearLayout> 

如果妳仔细观察妳比就会发现,“dialogAddbtn”是两种布局。现在,我如何区分java编码中的这些按钮。 Becoz这两个按钮都有相同的ID。

回答

4

添加ID标签双方的布局,然后使用吹气,做同样的事情到这个

LayoutInflater inflater = LayoutInflater.from(this); 
inflatedView1 = inflater.inflate(R.layout.layout1,null); 
inflatedView2 = inflater.inflate(R.layout.layout2,null); 
Button button1 = (Button)inflatedView1.findViewbyId(R.id.dialogAddBtn); 
Button button2 = (Button)inflatedView2.findViewbyId(R.id.dialogAddBtn); 

正如你可以看到这两个按钮可以被访问,因为两者在不同的家长的意见。