所以当遇到片段类中的getVIew()方法时,我遇到了一些奇怪的行为.从文档中我期望获得在onCreateView方法中创建的视图,如此处所述
http://developer.android.com/reference/android/app/Fragment.html#getView()
“获取片段布局的根视图(onCreateView(LayoutInflater,ViewGroup,Bundle)返回的布局),如果提供的话”
现在,我有一个视图,其中有相当数量的孩子,所以我想尝试保存,当我尝试通过实现一个ViewHolder类来实现“findViewById”,类似于我在ListView适配器中完成的常规方法,我设置为从onCreateView返回的视图的标记.
当我调用getView方法时,奇怪的行为发生.看来该片段正在返回我创建的视图的父节点而不是我创建的视图,这导致返回空标签.
我写了一小段代码打印出一个视图(如果视图实际上是一个viewGroup,则嵌套子节点),这就是我得到的.
android.widget.ScrollView android.widget.ScrollView@4242dec0
/android.widget.ScrollView
当我稍后使用getView()方法打印它时,我得到了
android.support.v4.app.NoSaveStateFrameLayout
android.widget.ScrollView android.widget.ScrollView@4242dec0
/android.widget.ScrollView
/android.support.v4.app.NoSaveStateFrameLayout
正如您所看到的,ScrollView是我实际在onCreateView方法中创建的视图.那么为什么getView会返回父节点而不是视图呢?