Back to project page ProjectStudio.
The source code is released under:
Apache License
If you think the Android project ProjectStudio listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** *//from w w w. j a va 2 s. c om */ package fragments; import android.database.Cursor; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.ShareActionProvider; import com.example.uniutilproject.R; import java.sql.SQLException; import DB_Provider.CourseDataSource; import adapters.CourseCardAdapter; /** * @author desmond */ public class CoursesFragment extends Fragment { private DrawerLayout parent_drawer; private ListView course_list; private CourseDataSource dataSource; private CourseCardAdapter adapter; private ViewGroup parent_view; private ShareActionProvider mShareActionProvider; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.courses_fragment, container, false); course_list = (ListView) view.findViewById(R.id.courses_fragment_list); //OPEN DATABASE dataSource = new CourseDataSource(getActivity()); try { dataSource.open(); } catch (SQLException e) { e.printStackTrace(); } //IF DRAWER HAS BEEN DISABLED BY SOME OTHER FRAGMENT //ENABLE DRAWER parent_drawer = (DrawerLayout) getActivity().findViewById(R.id.drawer_layout); if (parent_drawer.getDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) == 0) { parent_drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); } //INLFLATE VIEWS HERE course_list = (ListView) view.findViewById(R.id.courses_fragment_list); final Cursor cursor = dataSource.getAllCourseData(); new android.os.Handler().post(new Runnable() { @Override public void run() { parent_view = ((ViewGroup) getView().getParent()); adapter = new CourseCardAdapter(getActivity(), cursor, true, parent_view); course_list.setAdapter(adapter); adapter.notifyDataSetChanged(); } }); dataSource.close(); return view; } // Register the fragment as a contributor to the Options Menu // call setHasOptions within its onCreate Handler @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } // add a menu item when this fragment is called @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); // custom menu (action bar layout) inflater.inflate(R.menu.course_frag_menu, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); // Find which menu item has been selected switch (item.getItemId()) { // Check for each known menu item case R.id.course_menu_addbtn: showChildFragment(); return true; // Return false if the menu item has not been handled default: return false; } } private void showChildFragment() { FragmentManager fm = getFragmentManager(); AddCourseFragment frag = new AddCourseFragment(); FragmentTransaction transaction = fm.beginTransaction(); // For a little polish, specify a transition animation transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); Log.e("fragment", ((ViewGroup) getView().getParent()).getId() + " courses"); transaction.replace(((ViewGroup) getView().getParent()).getId(), frag).addToBackStack(null).commit(); } @Override public void onResume() { try { dataSource.open(); } catch (SQLException e) { e.printStackTrace(); } super.onResume(); } @Override public void onPause() { dataSource.close(); super.onPause(); } //REMOVE THE THREE DOT ICON FROM THE ACTIONBAR, SINCE IT IS NOT NEEDED FOR NOW @Override public void onPrepareOptionsMenu(Menu menu) { MenuItem item = menu.findItem(R.id.action_settings); item.setVisible(false); super.onPrepareOptionsMenu(menu); } }