Android Programming The Big Nerd Ranch Guide by Bill Phillips, Chris Stewart, Kristin Marsicano (z-lib.org)

(gtxtreme123) #1
Fragment callback interfaces

Before you start with CrimeFragment’s interface, change the visibility of
CrimeListFragment.updateUI() so that it can be called from CrimeListActivity.


Listing 17.10  Changing updateUI()’s visibility (CrimeListFragment.java)


private public void updateUI() {
...
}


Then, in CrimeFragment.java, add the callback interface along with an mCallbacks variable and
implementations of onAttach(...) and onDetach().


Listing 17.11  Adding CrimeFragment callbacks (CrimeFragment.java)


private ImageButton mPhotoButton;
private ImageView mPhotoView;
private Callbacks mCallbacks;


/**



  • Required interface for hosting activities
    */
    public interface Callbacks {
    void onCrimeUpdated(Crime crime);
    }


public static CrimeFragment newInstance(UUID crimeId) {
...
}


@Override
public void onAttach(Context context) {
super.onAttach(context);
mCallbacks = (Callbacks) context;
}


@Override
public void onCreate(Bundle savedInstanceState) {
...
}


@Override
public void onPause() {
...
}


@Override
public void onDetach() {
super.onDetach();
mCallbacks = null;
}

Free download pdf