所以我遇到了一些奇怪的行为,当涉及到片段类中的getVIew()方法。从文档我期待得到在onCreateView方法创建的视图在这里表示“查看该片段的布局(一个由onCreateView(LayoutInflater,ViewGroup中,束)返回)根认为,如果提供http://developer.android.com/reference/android/app/Fragment.html#getView()Android Fragments getView返回视图的父级?
“
现在,我有一个观点,其中有相当数量的孩子,所以我想尝试和保存,当我尝试和”findViewById“通过实现一个ViewHolder类类似于它在ListView适配器中完成的常见方式我将其设置为从onCreateView返回的视图的标记。
当我调用getView方法时会出现奇怪的行为。看起来这个片段正在返回我创建的视图的父视图,而不是我创建的视图,这会导致返回一个空标记。
我写了一小段代码打印出一个视图(如果视图实际上是一个viewGroup,则嵌套这些子视图),这就是我所得到的。
android.widget.ScrollView [email protected]
/android.widget.ScrollView
,当我以后再打印使用getView()方法,我得到
android.support.v4.app.NoSaveStateFrameLayout
android.widget.ScrollView [email protected]
/android.widget.ScrollView
/android.support.v4.app.NoSaveStateFrameLayout
正如你可以看到滚动型是我居然在onCreateView方法创建视图。那么getView为什么返回父视图而不是视图?
如果我没有弄错,'NoSaveStateFrameLayout'只出现在兼容包的片段中。无论如何,你总是可以使用'getView()。findViewById(R.id.theIdOfTheScrollView)'。 – Luksprog 2013-04-26 19:51:54