首次设置导航组件

时间:2019-02-06 17:29:59

标签: android android-fragments android-architecture-navigation

我正在尝试使用Navigation components,但出现以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.menus/com.example.menus.NavHostFragment}: java.lang.RuntimeException: com.example.menus.NavHostFragment@af68459 must implement OnFragmentInteractionListener

如您所见,我缺少OnFragmentInteractionListener,并且在该片段的顶部写道:

  

/ **    *一个简单的{@link Fragment}子类。    *包含此片段的活动必须实现    * {@link RestaurantLogin.OnFragmentInteractionListener}界面    *处理交互事件。    *使用{@link RestaurantLogin#newInstance}工厂方法来    *创建此片段的一个实例。    * /

如何实现@link RestaurantLogin.OnFragmentInteractionListenerimplement OnFragmentInteractionListener

我正在使用Java(不是Kotlin)。

1 个答案:

答案 0 :(得分:1)

我发现,如果您删除以下行,则片段中的应用程序将停止崩溃。

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    if (context instanceof OnFragmentInteractionListener) {
        mListener = (OnFragmentInteractionListener) context;
    } else {
        throw new RuntimeException(context.toString()
                + " must implement OnFragmentInteractionListener");
    }
}

更改为

@Override
public void onAttach(Context context) {
    super.onAttach(context);
}

不确定是否可以,但是否可以正常工作。