1
假设一个Activity
仅包含单个Fragment
,并且由创建该Fragment
的视图:片段的视图层次
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.fragment, container, false);
}
然后将片段的根视图(如通过onCreateView
返回)应该连接到封闭活动。
问题:
在活动和片段之间的视图层次多少级有哪些?我的意思是:
<Activity View> -> <Fragment View>
或
<Activity View> -> <Some ViewGroup> -> <Fragment View>
在我的
onCreateView
测试,ViewGroup container
是null
。为什么是这样?如果我都定义在
activity_main.xml
:<fragment android:id="@+id/fragment_foo" />
和
fragment_foo.xml
(假设ListView
是在该片段根视图元素):<ListView android:id="@+id/listview_foo" />
那么什么是的标识片段的根视图,
fragment_foo
或listview_foo
?我的测试结果是前者。这是预期的结果吗?这是否意味着我们不应该设置片段布局的根元素的ID(因为它不会被使用)?
由于片段的视图层次连接到封闭的活动,都应当在该片段中找到一个视图中工作:
getActivity().findViewById()
和
getView().findViewById()
这是正确的?
请问您能否显示布局xml文件和用于放置片段的代码? –