我有MainActivity
的片段视图。
在MainActivity
中,我加载了这个布局:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.MainLayout);
}
在MainLayout中,是一个带有id" fab"
的浮动操作按钮在我的片段视图类中,我加载片段视图布局,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
FragementView = inflater.inflate(R.layout.FragmentViewLayout, container, false);
FloatingActionButton fab = (FloatingActionButton) FragementView .findViewById(R.id.fab);
return FragementView;
}
现在我想进入片段视图类,fab(通过id查找) 但这将是一个空对象。
我的错误在哪里?
答案 0 :(得分:1)
如果您需要使用片段使用getActivity()
来获取活动视图。
引用文档
具体来说,片段可以使用getActivity()访问Activity实例,并轻松执行任务,例如在活动布局中查找视图:
FloatingActionButton fab = (FloatingActionButton) getActivity().findViewById(R.id.fab);
https://developer.android.com/guide/components/fragments.html
答案 1 :(得分:0)
您的FloatActionButton
处于MainLayout
布局而不是FragmentViewLayout
布局
因此,您应该在Activity
中找回它
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.MainLayout);
...
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
}
答案 2 :(得分:0)
在FloatingActionButton
FragmentViewLayout
<强> FragmentViewLayout.xml 强>
<RelativeLayout
...
//include FloatingActionButton here
...
/>