2013-04-01 47 views
1

我是Android開發新手,我對「開發視圖」一詞感到好奇,這個詞正在Android開發社區中引發。LayoutInflater是如何工作的?

我知道它與調用LayoutInflater類的膨脹方法有關,但我仍然沒有把握它背後的概念。這基本上是否意味着通過傳遞它的ID來返回一個視圖,就像JavaScript的document.getElementById()類似的事情,還是有更多的呢?任何形式的啓蒙將不勝感激。

回答

2

它基本上是用於將xml Layout文件實例化爲要在java代碼中使用的對象的術語。您可以撥打setContentView(R.layout.file name minus xml extension)或使用LayoutInflater來完成此操作。只有在充氣之後,您才能撥打子女Views。這是要知道重要的,因爲我看到的許多問題,所以在其中的人有崩潰的應用程序,事實證明,他們正試圖引用view

EditText et = (EditText) findViewById(R.id.someID); 

,他們已經不叫setContentView()獲得Layout其中認爲EditText導致NPE,因爲EditText實際上不存在,直到Layoutinflated

我相信你已經看到它的文檔,但Here they are anyway

+0

你的答案結構良好。 +1 – stinepike

+0

@SinePike先生,謝謝 – codeMagic

0

雖然具體細節肯定比我會說比較複雜,我覺得想充氣觀點是作爲最簡單的方法從xml佈局文件轉到實際的View對象的過程。通貨膨脹方法圍繞着許多不同的類別,通常都採用id參數,您將其設置爲R.layout.xxx