2012-11-02 89 views
0

我已經創建了一個形式如以下(form.xml):添加外部XML視圖到當前視圖

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/formLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android :text="Name" /> 

    <EditText 
     android:id="@+id/edName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

<!-- Many more things--> 
</RelativeLayout> 

如果上述形式通過代碼創建(說的FormView),則在每次活動我可以用類似

<com.example.FormView 
    android:id="@+id/fv1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

但由於是使用XML如上圖所示創建形式,我該如何在衆多的活動中使用它?
我想在所有活動中使用上面的表單佈局(form.xml)作爲用戶控件。


我嘗試以下,但它在最後一行拋出NullPointerException

setContentView(R.layout.main); 
RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.container); 
View form= (View) findViewById(R.id.formLayout); 
mainLayout.addView(form); 

知道的任何建議。

+0

您是否在您的項目中創建了FormView類? –

+0

NO。我剛剛舉了一個例子,如果表單是使用類FormView創建的,那麼它可以在任何地方使用。但是,如何在各種視圖中使用xml文件? – GAMA

+0

空指針異常是因爲您正在將內容視圖設置爲Main.xml,但正試圖解析不是主要部分的R.id.formlayout,因此您的表單對象將始終爲空。你可以嘗試使用佈局充氣器使用你的xml – Anuj

回答

1

看一看這裏Re-using layouts

它顯示瞭如何重新使用現有佈局以將其包含在其他佈局中。

-1

正是你正在嘗試做的,然後我會寫代碼對你來說,使用下面的代碼,並把你的小部件在和做...

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.XMLFileName); 
+0

這將設置僅來自'XMLFileName'的內容。如果我想將其他佈局添加到當前佈局中,該怎麼辦? – GAMA

相關問題