为什么在设置fragment的时候需要实现OnFragmentInteractionListener?

Why is it necessary to implement OnFragmentInteractionListener when setting up a fragment?

我按照官方文档:https://developer.android.com/guide/components/fragments#Creating。它提供了设置片段的步骤。

  1. 首先,创建片段class(`extends Fragment')

  2. 然后创建它的布局(并且,在片段 class' OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState), return View' of this layout usinginflate` 之一)

  3. 选择将使用该片段的 activity。此 activity 必须 extends FragmentActivity 并且为了使用该片段,它将包含对 FragmentManager 的方法、FragmentTransaction 的方法等的调用。

但是,这样做会导致 "fatal exception":

java.lang.lang.lang.RuntimeException: com.example...TheActivity@efebfcf must implement OnFragmentInteractionListener

问题

  1. 为什么文档没有提到这个问题?

  2. TheActivity(使用片段TheFragment)中,我实现了TheFragment.OnFragmentInteractionListener(是的,TheFragment.OnFr...!)。很奇怪,不是吗?另外,这个监听器提供了这个方法:onFragmentInteraction(Uri uri) 但是它应该包含什么?

我很确定在 Fragment 的 onAttach 方法中,它会说父 activity 必须实现 OnFragmentInteractionListener。这是为了方便 Fragment 与 Activity 通信。

这不是必需的,可以删除 onAttach 中的检查。事实上,如果你没有在 onAttach 方法中做任何事情,那么整个方法可以从 Fragment

中删除