2016-02-13 78 views
1

請任何人可以跟以下集內容查看和Android的

的setContentView(R.layout.content_main)之間的基本區別吹氣;

查看行= layoutInflater.inflate(R.layout.view,父母,假);

從上面的兩個方法我們得到的觀點,我知道第二種方法一般在Adapter中用來膨脹視圖。

但我的問題是---

我們可以使用的setContentView方法來代替充氣,以獲得適配器的看法......我很困惑,請幫我出????

回答

0

public void setContentView (View view):僅用於將Activity內容設置爲顯式視圖。

public View inflate (int resource, ViewGroup root, boolean attachToRoot): 用於從指定的xml資源中擴充新的視圖層次結構。

您無法在Adapter中使用setContentView(View view),它僅可用於Activity

0

LayoutInflator class用於將佈局XML文件實例化爲其相應的View對象。 換句話說,它需要輸入XML文件並從中構建View對象。

setContentView()僅限活動方法。每個活動都提供一個幀號爲"@+id/content"(即內容視圖)的FrameLayout。無論您在setContentView中指定的視圖都是該活動的視圖。請注意,您也可以將視圖實例傳遞給此方法,例如setContentView(new WebView(this));您正在使用的方法版本將在幕後爲您展開視圖。

如需進一步信息,請考慮閱讀:

-1

每一項活動是由它的相關視圖
否則我們看不到主題顯示給用戶在屏幕上
所以每一個活動需要顯示的視圖
setContentView()是活動類中定義的一種方法,用於定義活動視圖
但inflater是從xml文件中抓取視圖的方式
之後,我們從與inflaters XML文件中的視圖,我們可以將它們用於例如OnCreateOptionsMenu()的任何地方
我們應該從XML文件inflaters

0

每一個活動都提供了ID爲「一個FrameLayout裏的觀點@ + id/content「(即內容視圖).setContentView只是一個Activity方法。無論您在setContentView中指定的視圖是該Activity的視圖,另一方面,都有一個名爲onCreateView的生命週期方法,該方法返回一個視圖(如果它有一個視圖) 。這樣做的最常見方法是用XML填充視圖並以此方法返回。在這種情況下,你需要自己膨脹它。片段沒有「setContentView」方法 LayoutInflater.inflate只是膨脹並返回一個視圖(您可以在任何地方使用此視圖)。您仍然需要將該視圖設置爲活動內的內容視圖。