Android 方法使我的代码崩溃

Android 方法使我的代码崩溃,android,fragment,Android,Fragment,这个方法会使我的android应用程序崩溃,我想知道这个方法的相关性,以及如果我完全删除这个方法会发生什么 @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { mListener = (OnFragmentInteractionListener) conte

这个方法会使我的android应用程序崩溃,我想知道这个方法的相关性,以及如果我完全删除这个方法会发生什么

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