package tof.cv.mpp; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.support.v7.app.AppCompatActivity; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ListView; import tof.cv.mpp.Utils.DbAdapterConnection; import tof.cv.mpp.adapter.FavAdapter; public class StarredFragment extends ListFragment { protected static final String TAG = "StarredFragment"; private static DbAdapterConnection mDbHelper; private Cursor mCursor; private static final int REMOVE_ID = 1; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_starred, null); } /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); mDbHelper = new DbAdapterConnection(getActivity()); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); registerForContextMenu(getListView()); ((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(R.string.nav_drawer_starred); ((AppCompatActivity)getActivity()).getSupportActionBar().setSubtitle(null); } public void onResume() { super.onResume(); populateList(); } public void populateList() { mDbHelper.open(); mCursor = mDbHelper.fetchAllFav(); FavAdapter fAdapter = new FavAdapter(getActivity(), mCursor); setListAdapter(fAdapter); mDbHelper.close(); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); mCursor.moveToPosition(position); String item = mCursor.getString(mCursor .getColumnIndex(DbAdapterConnection.KEY_FAV_NAME)); String itemTwo = mCursor.getString(mCursor .getColumnIndex(DbAdapterConnection.KEY_FAV_NAMETWO)); int type = mCursor.getInt(mCursor .getColumnIndex(DbAdapterConnection.KEY_FAV_TYPE)); Intent i; switch (type) { case 1: i = new Intent(getActivity(), InfoStationActivity.class); i.putExtra("Name", item); i.putExtra("ID", itemTwo); startActivity(i); break; case 2: i = new Intent(getActivity(), InfoTrainActivity.class); i.putExtra("Name", item); startActivity(i); break; case 3: i = new Intent(getActivity(), WelcomeActivity.class); i.putExtra("Departure", item); i.putExtra("Arrival", itemTwo); startActivity(i); getActivity().finish(); break; } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { default: return super.onOptionsItemSelected(item); } } public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, REMOVE_ID, 0, R.string.remove); } @Override public boolean onContextItemSelected(android.view.MenuItem item) { switch (item.getItemId()) { case REMOVE_ID: AdapterView.AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item .getMenuInfo(); mDbHelper.open(); mDbHelper.deleteFav(menuInfo.id); mDbHelper.close(); populateList(); return true; default: return super.onContextItemSelected(item); } } }