Start.java (4776B)
1 package de.nordgedanken.rpicms; 2 3 import android.app.Activity; 4 5 import android.app.ActionBar; 6 import android.app.Fragment; 7 import android.app.FragmentManager; 8 import android.content.Context; 9 import android.os.Build; 10 import android.os.Bundle; 11 import android.view.Gravity; 12 import android.view.LayoutInflater; 13 import android.view.Menu; 14 import android.view.MenuItem; 15 import android.view.View; 16 import android.view.ViewGroup; 17 import android.support.v4.widget.DrawerLayout; 18 import android.widget.ArrayAdapter; 19 import android.widget.TextView; 20 21 22 public class Start extends Activity 23 implements NavigationDrawerFragment.NavigationDrawerCallbacks { 24 25 /** 26 * Fragment managing the behaviors, interactions and presentation of the navigation drawer. 27 */ 28 private NavigationDrawerFragment mNavigationDrawerFragment; 29 30 /** 31 * Used to store the last screen title. For use in {@link #restoreActionBar()}. 32 */ 33 private CharSequence mTitle; 34 35 @Override 36 protected void onCreate(Bundle savedInstanceState) { 37 super.onCreate(savedInstanceState); 38 setContentView(R.layout.activity_start); 39 40 mNavigationDrawerFragment = (NavigationDrawerFragment) 41 getFragmentManager().findFragmentById(R.id.navigation_drawer); 42 mTitle = getTitle(); 43 44 // Set up the drawer. 45 mNavigationDrawerFragment.setUp( 46 R.id.navigation_drawer, 47 (DrawerLayout) findViewById(R.id.drawer_layout)); 48 } 49 50 @Override 51 public void onNavigationDrawerItemSelected(int position) { 52 // update the main content by replacing fragments 53 FragmentManager fragmentManager = getFragmentManager(); 54 fragmentManager.beginTransaction() 55 .replace(R.id.container, PlaceholderFragment.newInstance(position + 1)) 56 .commit(); 57 } 58 59 public void onSectionAttached(int number) { 60 switch (number) { 61 case 1: 62 mTitle = getString(R.string.title_section1); 63 break; 64 case 2: 65 mTitle = getString(R.string.title_section2); 66 break; 67 case 3: 68 mTitle = getString(R.string.title_section3); 69 break; 70 } 71 } 72 73 public void restoreActionBar() { 74 ActionBar actionBar = getActionBar(); 75 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 76 actionBar.setDisplayShowTitleEnabled(true); 77 actionBar.setTitle(mTitle); 78 } 79 80 81 @Override 82 public boolean onCreateOptionsMenu(Menu menu) { 83 if (!mNavigationDrawerFragment.isDrawerOpen()) { 84 // Only show items in the action bar relevant to this screen 85 // if the drawer is not showing. Otherwise, let the drawer 86 // decide what to show in the action bar. 87 getMenuInflater().inflate(R.menu.start, menu); 88 restoreActionBar(); 89 return true; 90 } 91 return super.onCreateOptionsMenu(menu); 92 } 93 94 @Override 95 public boolean onOptionsItemSelected(MenuItem item) { 96 // Handle action bar item clicks here. The action bar will 97 // automatically handle clicks on the Home/Up button, so long 98 // as you specify a parent activity in AndroidManifest.xml. 99 int id = item.getItemId(); 100 if (id == R.id.action_settings) { 101 return true; 102 } 103 return super.onOptionsItemSelected(item); 104 } 105 106 /** 107 * A placeholder fragment containing a simple view. 108 */ 109 public static class PlaceholderFragment extends Fragment { 110 /** 111 * The fragment argument representing the section number for this 112 * fragment. 113 */ 114 private static final String ARG_SECTION_NUMBER = "section_number"; 115 116 /** 117 * Returns a new instance of this fragment for the given section 118 * number. 119 */ 120 public static PlaceholderFragment newInstance(int sectionNumber) { 121 PlaceholderFragment fragment = new PlaceholderFragment(); 122 Bundle args = new Bundle(); 123 args.putInt(ARG_SECTION_NUMBER, sectionNumber); 124 fragment.setArguments(args); 125 return fragment; 126 } 127 128 public PlaceholderFragment() { 129 } 130 131 @Override 132 public View onCreateView(LayoutInflater inflater, ViewGroup container, 133 Bundle savedInstanceState) { 134 View rootView = inflater.inflate(R.layout.fragment_start, container, false); 135 return rootView; 136 } 137 138 @Override 139 public void onAttach(Activity activity) { 140 super.onAttach(activity); 141 ((Start) activity).onSectionAttached( 142 getArguments().getInt(ARG_SECTION_NUMBER)); 143 } 144 } 145 146 }