我跟随this tutorial并且工作得很好。在我的片段视图中,有一些按钮,我有一些onClick
分配给。例如,我有一个按钮,如:
<ImageButton
android:onClick="doSomething">
</ImageButton>
在创建rootView时,我使用以下代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_screen_slide_page, container, false);
return rootView;
}
我做了一些谷歌搜索,发现最后一个参数是附加到parentView,我已将其设置为true。但父视图是容器。这个容器指向哪里? 我应该在哪里写“doSomething”函数?
答案 0 :(得分:1)
我做了一些谷歌搜索,发现最后一个参数是附加到 parentView和我已将其设置为true。
请勿将其设为true
。在onCreateView()
中,您将为片段创建视图并将其返回,Android将自己将该视图附加到布局(文档说明)。
此容器指向何处?
如果不为null,它将是添加片段视图的布局,通常用于为新膨胀的视图生成正确的LayoutParams
。
我应该在哪里写“doSomething”功能?
由于使用onClick
属性的按钮将成为片段布局的一部分,您应该从布局中删除onClick
属性,并在按钮上的代码中设置OnClickListener
。 Android会在doSomething()
级别搜索Activity
方法,因此您无法直接在片段中收到点击事件。