2
A
回答
0
如果您有類似
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
在佈局
,並做
ListView v = (ListView) findViewById(R.id.listview);
View view = v.getChildAt(0);
// view is null
你有ViewGroup
對象v
其中v.getChildAt(0)
是null
。因爲ListView
將不會有任何孩子,直到你給它的數據顯示。
另外,你可以只創建一個空LinearLayout
作爲佔位符或幀的動態內容。
如果沒有明確說明,它不能返回null,你最好期望或墨菲定律會打你。
+0
這是一個很好的答案。非常感謝!對於同一個'getChildAt'調用,根視圖是否可能返回'null'? –
+0
我沒有一個例子如何做到這一點,但它應該可能以某種方式,也許如果你'setContentView(null)'。 – zapl
7
是,根據該文件,它返回:
在指定的位置上的視圖或零,如果位置不組
0
是內部存在,它可以返回空值。
我認爲你真正的問題是,是否會不會發生什麼當它這個意思。這意味着視圖組沒有任何孩子。爲什麼視圖組可能沒有孩子?我不知道。也許在您試圖抓取對第一個孩子的引用之前,視圖層次結構已經發生了變化。
相關問題
- 1. Android GridView getChildAt(0).findViewById()返回null
- 2. listview getChildAt()返回null
- 3. getChildAt始終返回null
- 4. document.getElementsByTagName('head')[0]是否可以返回null?
- 5. Can WebResponse.GetResponseStream()是否返回null?
- 6. EditText.getText()是否返回null?
- 7. Mysql - 計數NULL總是返回0?
- 8. Count()返回0而不是NULL
- 9. SQL查詢返回0而不是NULL
- 10. Cypher計數返回null而不是0
- 11. 是否有可能知道BufferedReader.readLine()是否會提前返回null?
- 12. COUNT返回NULL,應返回0
- 13. 的LoadImage()返回NULL和GetLastError()返回0
- 14. Math.min.apply爲null返回0
- 15. LoadBy方法返回null 0
- 16. (0 <0)是否返回true?
- 17. C++在失敗時是否返回0或NULL?
- 18. Android的列表視圖返回null值getChildAt()
- 19. 帶有自定義適配器的Android ListView -getChildAt()返回null
- 20. 會話返回null
- 21. Custom ListView view = getChildAt(0)throw NullPointerException
- 22. GpsSatellite.hasAlmanac()是否會返回true?
- 23. C#2.0:MethodBase.GetCurrentMethod()是否可以返回null?
- 24. 新運算符是否返回NULL?
- 25. 如何檢查它是否返回null?
- 26. javax.persistence.Query.getResultList()是否可以返回null?
- 27. May UIComponent#getFamily()是否返回null?
- 28. AppDomain.CreateInstanceAndUnwrap是否可以返回null?
- 29. SCOPE_INDENTITY()不工作是否返回null?
- 30. 是否getActionBar()應該返回null?
爲什麼這個否決?我認爲這是一個有效的問題。我無法想象這樣的視圖層次甚至會是什麼樣子。 –
*真實*問題是什麼?我問這個,因爲當然你可以有一個ViewGroup沒有孩子,所以v.getChildAt(0)永遠不會返回null。至於「層次結構是什麼樣子?」。什麼層次?如果我使用單個ViewGroup定義佈局,請啓動一個活動並使該佈局膨脹,然後佈局*就是層次結構。我可能會這樣做,因爲我打算稍後在我的代碼中創建視圖並將它們添加到當前視圖根目錄。在充氣和添加子視圖的時候,getChildAt(0)是未定義的。 – Simon
@teepee你的回答沒有錯,只是不完整。我想你應該添加一個註釋,說明源代碼已更改並將您的答案帶回。 – Sam