Android 方法使我的代码崩溃
这个方法会使我的android应用程序崩溃,我想知道这个方法的相关性,以及如果我完全删除这个方法会发生什么Android 方法使我的代码崩溃,android,fragment,Android,Fragment,这个方法会使我的android应用程序崩溃,我想知道这个方法的相关性,以及如果我完全删除这个方法会发生什么 @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { mListener = (OnFragmentInteractionListener) conte
@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");
}
}
我删除了它,我的代码运行顺利,希望以后不会出现任何问题。下面是FragmentInteractionListener的问题
上下文实例
当两个片段之间需要通信时,此代码用于处理活动中的片段。我提到这是文档的方式,因为这不是唯一的方式(您可以使用其他技术,例如发布/订阅引擎)
如果片段所附加到的活动没有实现片段期望附加到的接口,则此代码故意引发RunTimeException。如果它确实实现了它,那么活动将保存为该接口类型的指针(在您的示例中-OnFragmentInteractionListener
)
您可以看到引发异常的行:
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
因此,如果控制台中有“必须实现OnFragmentInteractionListener”-您知道该片段已附加到应实现OnFragmentInteractionListener的活动,但未附加到该活动。您应该指定给出错误的代码行,并共享错误。如果上下文
不是OnFragmentInteractionListener
的实例,则您正在引发异常。这可能是坠机的原因。
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");