android - 首次设置导航组件

标签 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 并在 fragment 的顶部编写:

/** * A simple {@link Fragment} subclass. * Activities that contain this fragment must implement the * {@link RestaurantLogin.OnFragmentInteractionListener} interface * to handle interaction events. * Use the {@link RestaurantLogin#newInstance} factory method to * create an instance of this fragment. */

如何实现@link RestaurantLogin.OnFragmentInteractionListenerimplement OnFragmentInteractionListener

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

最佳答案

我发现在 fragment 中,如果您删除以下行,应用程序将停止崩溃。

@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);
}

不确定这是否可行,但它正在工作。

关于android - 首次设置导航组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54559366/

相关文章:

android - 错误 : Android-XML:Placing a <WebView> in a parent element that uses a wrap_content size can lead to subtle bugs; use match_parent

android - 自定义 ViewGroup 是否有可能使其布局为 "deflate"并膨胀另一个?

android - 检测导航组件中的弹出

android - 支持导航组件的隐式和显式深度链接

android - DialogFragment 已触发,但未在 Navigation Architecture 组件中显示布局

android - 应用插件失败 [id 'com.android.internal.version-check' ]

android - 在 Android 5.0 上点击时 Switch 崩溃

android - Activity 和 Fragment 中的自动 UI 配置更改处理有时会失败

android - 如何从fragment中隐藏Recyclerview的行项目

android - 在 ViewPager android 中锁定页面 fragment