我正在尝试使用 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.OnFragmentInteractionListener
或implement 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/