给定一个非null的ViewGroup对象v
,我们可以说v.getChildAt(0)
永远不会返回null吗?
如果它可以返回null,那么该视图层次结构会是什么样的?
答案 0 :(得分:7)
是的,根据文档,它返回it says:
指定位置的视图;如果组中的位置不存在,则返回null
答案 1 :(得分:0)
是的,它可以返回null。
我认为你真正的问题是这是否会发生,以及它是什么意思。这意味着视图组没有任何子项。为什么观点组没有孩子?我不知道。也许在您尝试获取对第一个孩子的引用之前,视图层次结构已经更改。
答案 2 :(得分: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,你最好还是期望或墨菲定律会打击你。