Android浮动操作按钮为null

时间:2015-11-26 17:31:38

标签: android floating-action-button

在我的布局fragment_do_stuff.xml中,我添加了FloatingActionButton,就像这样

<com.melnykov.fab.FloatingActionButton
    android:id="@+id/fabDoStuff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="12dp"
    android:layout_marginBottom="12dp"
    android:src="@drawable/my_fab"
    android:scaleType="centerInside"
    fab:fab_colorNormal="@color/fab_color"
    fab:fab_colorPressed="@color/fab_color"
    fab:fab_colorRipple="@color/my_accent"/>

在我的片段中,我在onCreateView()中夸大了这个视图,如:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_do_stuff, container, false);

    mDoStuffFab = (FloatingActionButton)view.findViewById(R.id.fabDoStuff);

    return view;
}

在我的onActivityCreated()中,我在这个FAB上设置监听器,如:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    ...

    mDoStuffFab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            doStuff();
        }
    });

    ...
}

然而,对fab mDoStuffFab的强制表明它在onCreateView和onActivityCreated中都是null。结果,我的应用程序崩溃了NullPointerException

我缺少什么?

谢谢,

1 个答案:

答案 0 :(得分:0)

这是我的错误,findViewById正在寻找一个错误的工厂。