2013-04-09 39 views
7

抽象類的膨脹方法具有作爲膨脹方法的第二個參數,該方法需要使用ViewGroup root。從文檔中,它被提及爲「可選視圖是生成的層次結構的父級」。如何使用LayoutInflater類的膨脹方法中的第二個參數Android

有人可以舉例說明如何使用此參數嗎?你會在那裏放什麼? A ViewGroup可以是任何類型的佈局,如LinearLayout

我不太明白如何處理這個參數。如果你正在膨脹的視圖不是在這裏輸入的佈局的一部分,那麼它會給出一個錯誤。不明白它的目的。從文檔

更多:

public View inflate (XmlPullParser parser, ViewGroup root)

Added in API level 1 Inflate a new view hierarchy from the specified xml node. Throws InflateException if there is an error.

重要性能方面的原因,查看通貨膨脹在很大程度上依賴於被在編譯的時候做的XML文件的預處理。因此,目前不可能在運行時通過純XML文件使用LayoutInflaterXmlPullParser

參數 解析器包含視圖層次結構描述的XML DOM節點。

root可選視圖是生成的層次結構的父級。 返回 充氣層次結構的根視圖。如果提供了root,這是根View;否則它就是膨脹的XML文件的根源。

+0

我很確定你可以傳遞'null',因爲它是一個可選參數。 – midhunhk 2013-04-09 04:51:17

回答

2

我真的不確定哪一部分會讓你困惑,說實話。您可以傳入任何ViewGroup,以成爲您動態創建的視圖的父項。

例如:

private static View mView = inflater.inflate(R.layout.fragment_featured, container, false); 

這將膨脹容納在容器內的fragment_featured xml文件的佈局(作爲父)。容器ViewGroup的類型取決於您。

2

充氣方法返回膨脹XML的父視圖

  • 如果你不通過根ViewGroup中,充氣XML根查看 將返回

  • 如果你通過根ViewGroup,root查看根ViewGroup將 返回