package ca.uwaterloo.uwfoodservices; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.InflateException; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ListView; import android.widget.Spinner; public class ListViewFragment extends Fragment { public static final String ARG_SECTION_NUMBER = "section_number"; private ListView listView; private Spinner spinner; private Context context; private ActivityCommunicator activityCommunicator; private String type; private int positionTracker; @Override public void onAttach(Activity activity){ super.onAttach(activity); context = getActivity(); activityCommunicator = (ActivityCommunicator) context; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); init(); } public void init() { listView.setAdapter(new ImageAdapter(context, type)); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { positionTracker = position; activityCommunicator.passDataToActivity(position, type); getActivity().getActionBar().setSelectedNavigationItem(1); } }); spinner.post(new Runnable() { @Override public void run() { spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View view1, int pos, long id) { switch (pos) { case 0: type = "all"; listView.setAdapter(new ImageAdapter(context, "all")); activityCommunicator.passDataToActivity(-1, "all"); break; case 1: type = "location"; listView.setAdapter(new ImageAdapter(context, "location")); activityCommunicator.passDataToActivity(-1, "location"); break; case 2: type = "watcardVendors"; listView.setAdapter(new ImageAdapter(context, "watcardVendors")); activityCommunicator.passDataToActivity(-1, "watcardVendors"); break; } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); }}); } @Override public View onCreateView(final LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) { type = getArguments().getString("type"); View view = null; try { view = inflater.inflate( R.layout.locationlist, container, false); listView = (ListView) view.findViewById(R.id.list_restaurant); spinner = (Spinner) view.findViewById(R.id.spinner); if (type.equals("location")) { spinner.setSelection(1, false); } else if (type.equals("watcardVendors")) { spinner.setSelection(2, false); } else { spinner.setSelection(0, false); } } catch (InflateException e) {} return view; } }