我是Android開發新手,我對「開發視圖」一詞感到好奇,這個詞正在Android開發社區中引發。LayoutInflater是如何工作的?
我知道它與調用LayoutInflater
類的膨脹方法有關,但我仍然沒有把握它背後的概念。這基本上是否意味着通過傳遞它的ID來返回一個視圖,就像JavaScript的document.getElementById()
類似的事情,還是有更多的呢?任何形式的啓蒙將不勝感激。
我是Android開發新手,我對「開發視圖」一詞感到好奇,這個詞正在Android開發社區中引發。LayoutInflater是如何工作的?
我知道它與調用LayoutInflater
類的膨脹方法有關,但我仍然沒有把握它背後的概念。這基本上是否意味着通過傳遞它的ID來返回一個視圖,就像JavaScript的document.getElementById()
類似的事情,還是有更多的呢?任何形式的啓蒙將不勝感激。
它基本上是用於將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
實際上不存在,直到Layout
是inflated
。
我相信你已經看到它的文檔,但Here they are anyway
雖然具體細節肯定比我會說比較複雜,我覺得想充氣觀點是作爲最簡單的方法從xml佈局文件轉到實際的View
對象的過程。通貨膨脹方法圍繞着許多不同的類別,通常都採用id
參數,您將其設置爲R.layout.xxx
。
你的答案結構良好。 +1 – stinepike
@SinePike先生,謝謝 – codeMagic