JarsOfJam-Scheduler
JarsOfJam-Scheduler

Reputation: 3169

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

I followed the official documentation: https://developer.android.com/guide/components/fragments#Creating. It provides the steps to set up a fragment.

  1. First, create the fragment class (`extends Fragment')

  2. Then create its layout (and, in fragment class' OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState), return one of the View' of this layout usinginflate`)

  3. Choose an activity that will use this fragment. This activity must extends FragmentActivity and in order to use the fragment, it will contain calls to FragmentManager's methods, FragmentTransaction'smethods, etc.

However, doing this results in a "fatal exception":

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

Questions

  1. Why doesn't the documentation mention this problem?

  2. In TheActivity (which uses the fragment TheFragment), I implemented TheFragment.OnFragmentInteractionListener (yes, TheFragment.OnFr...!). It's weird, isn't it? In addition, this listener provides this method: onFragmentInteraction(Uri uri) but what is it supposed to contain?

Upvotes: 0

Views: 221

Answers (1)

StuStirling
StuStirling

Reputation: 16211

I'm pretty sure in the Fragment's onAttach method, it will say that the parent activity must implement the OnFragmentInteractionListener. This is to facilitate Fragment to Activity communication.

This is not required and the check in onAttach can be removed. In fact if you are not doing anything in the onAttach method then the whole method can be removed from the Fragment

Upvotes: 1

Related Questions