Reputation: 3169
I followed the official documentation: https://developer.android.com/guide/components/fragments#Creating. It provides the steps to set up a fragment.
First, create the fragment class (`extends Fragment')
Then create its layout (and, in fragment class' OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
, return one of the View' of this layout using
inflate`)
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
Why doesn't the documentation mention this problem?
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
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