2014-03-25 63 views
1

我在每個xml中創建了5個xmls.in我創建了10個buttons.my問題是有反正避免在每個xml中爲每個xml編寫相同的代碼不同元素也present.only是10個按鍵在每個xml.for例如常見的有:在每xml.avoid中編寫代碼在每個xml中編寫代碼

xml1-> button 1 button2 button3 button4(present at top) textbox 
xml2-> button 1 button2 button3 button4(present at top) editbox 
xml3-> button 1 button2 button3 button4(present at top) imagebutton 
xml4-> button 1 button2 button3 button4(present at top) listview 

它不是我的原代碼

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" > 
<Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/editText1" 
     android:layout_alignBottom="@+id/editText1" 
     android:layout_alignParentRight="true" 
     android:text="Button" /> 
<Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 
</relativelayout> 
+0

我也需要重用我的Java class.is它可能。如果我有10個類正在使用這個xml.i想要避免每次寫這個代碼像按鈕b1 = findviewbyid(r.id.b1);(在所有10個類) – Meghna

回答

2

你可以在一個XML有一個按鈕,然後使用包括標籤在你想要的佈局中。

<include android:id="@+id/b1" layout="@layout/button_layout" /> 

下面是在同一

一個博客由羅曼蓋伊

http://www.curious-creature.org/2009/02/25/android-layout-trick-2-include-to-reuse/

+0

感謝raghu.i會嘗試這一個 – Meghna

+0

@MycareerId在上面的'button_layout'是一個帶按鈕的佈局。你可以包含在你的xml – Raghunandan

+0

它的工作,但你可以告訴我是否有任何可能的代碼重用(我的意思是在我需要編寫findViewById(R.id.button1))的每一個類)。 – Meghna

2

您可以創建重複的10個按鈕的XML(如果他們總是同時出現):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" > 
    <Button 
     android:id="@+id/button1" 
    ... 
    /> 
    <Button 
     android:id="@+id/button2" 
    ... 
    /> 
... 
</relativelayout> 

然後,在不同的佈局中包含此xml:

<include layout="@layout/ten_buttons"/> 

但如果10個按鈕都包含在不同的方式,那麼你應該創建爲每一個XML:button1.xml,button2.xml,button3.xml等,分別包括他們:

<include layout="@layout/button1"/> 
<include layout="@layout/button2"/> 
<include layout="@layout/button3"/>