package course.labs.notificationslab; import android.app.Activity; import android.app.ListFragment; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public class FriendsFragment extends ListFragment { // HostingActivity private SelectionListener mCallback; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, MainActivity.FRIENDS_NAMES)); } @Override public void onAttach(Activity activity) { super.onAttach(activity); // Make sure that the hosting Activity has implemented // the callback interface. try { mCallback = (SelectionListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement SelectionListener"); } } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Enable user interaction only if data is available setAllowUserClicks(mCallback.canAllowUserClicks()); } // Enable/disable user interaction void setAllowUserClicks(boolean allowUserInteraction) { getListView().setEnabled(allowUserInteraction); if (allowUserInteraction) { getListView().setBackgroundColor(Color.WHITE); } else { getListView().setBackgroundColor(Color.DKGRAY); } } @Override public void onListItemClick(ListView l, View view, int position, long id) { // Inform hosting Activity of user's selection if (null != mCallback) { mCallback.onItemSelected(position); } } }