Advertisement
Guest User

Untitled

a guest
Sep 21st, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.13 KB | None | 0 0
  1. package com.tutecentral.navigationdrawer;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import android.os.Bundle;
  7. import android.app.Activity;
  8. import android.app.Fragment;
  9. import android.app.FragmentManager;
  10. import android.content.res.Configuration;
  11. import android.support.v4.app.ActionBarDrawerToggle;
  12. import android.support.v4.view.GravityCompat;
  13. import android.support.v4.widget.DrawerLayout;
  14. import android.view.Menu;
  15. import android.view.MenuItem;
  16. import android.view.View;
  17. import android.widget.AdapterView;
  18. import android.widget.ListView;
  19.  
  20. public class MainActivity extends Activity {
  21.  
  22.       private DrawerLayout mDrawerLayout;
  23.       private ListView mDrawerList;
  24.       private ActionBarDrawerToggle mDrawerToggle;
  25.  
  26.       private CharSequence mDrawerTitle;
  27.       private CharSequence mTitle;
  28.       CustomDrawerAdapter adapter;
  29.  
  30.       List<DrawerItem> dataList;
  31.  
  32.       @Override
  33.       protected void onCreate(Bundle savedInstanceState) {
  34.             super.onCreate(savedInstanceState);
  35.             setContentView(R.layout.activity_main);
  36.  
  37.             // Initializing
  38.             dataList = new ArrayList<DrawerItem>();
  39.             mTitle = mDrawerTitle = "Menü";
  40.             mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
  41.             mDrawerList = (ListView) findViewById(R.id.left_drawer);
  42.  
  43.             mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
  44.                         GravityCompat.START);
  45.  
  46.             // Add Drawer Item to dataList
  47.             dataList.add(new DrawerItem("Übersicht", R.drawable.ic_action_email));
  48.             dataList.add(new DrawerItem("Neuer Eintrag", R.drawable.ic_action_good));
  49.             dataList.add(new DrawerItem("Einstellungen", R.drawable.ic_action_settings));
  50.             dataList.add(new DrawerItem("About", R.drawable.ic_action_about));
  51.  
  52.             adapter = new CustomDrawerAdapter(this, R.layout.costum_drawer_item,
  53.                         dataList);
  54.  
  55.             mDrawerList.setAdapter(adapter);
  56.  
  57.             mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
  58.  
  59.             getActionBar().setDisplayHomeAsUpEnabled(true);
  60.             getActionBar().setHomeButtonEnabled(true);
  61.  
  62.             mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
  63.                         R.drawable.ic_drawer, R.string.drawer_open,
  64.                         R.string.drawer_close) {
  65.                   public void onDrawerClosed(View view) {
  66.                         getActionBar().setTitle(mTitle);
  67.                         invalidateOptionsMenu(); // creates call to
  68.                                                                   // onPrepareOptionsMenu()
  69.                   }
  70.  
  71.                   public void onDrawerOpened(View drawerView) {
  72.                         getActionBar().setTitle(mDrawerTitle);
  73.                         invalidateOptionsMenu(); // creates call to
  74.                                                                   // onPrepareOptionsMenu()
  75.                   }
  76.             };
  77.  
  78.             mDrawerLayout.setDrawerListener(mDrawerToggle);
  79.  
  80.             if (savedInstanceState == null) {
  81.                   SelectItem(0);
  82.             }
  83.  
  84.       }
  85.  
  86.       public void SelectItem(int possition) {
  87.  
  88.             Fragment fragment = null;
  89.             Bundle args = new Bundle();
  90.             switch (possition) {
  91.             case 0:
  92.                   fragment = new Fragment_Uebersicht();
  93.                
  94.                   break;
  95.             case 1:
  96.                   fragment = new Fragment_New_Event();
  97.                  
  98.                   break;
  99.             case 2:
  100.                   fragment = new Fragment_Einstellungen();
  101.                  
  102.                   break;
  103.            
  104.             case 3:
  105.                 fragment = new Fragment_Einstellungen();
  106.                
  107.                 break;
  108.             case 4:
  109.                 /*fragment = new FragmentThree();
  110.                 args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
  111.                             .getItemName());
  112.                 args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
  113.                             .getImgResID());*/
  114.                 break;
  115.            
  116.             default:
  117.                   break;
  118.             }
  119.  
  120.             fragment.setArguments(args);
  121.             FragmentManager frgManager = getFragmentManager();
  122.             frgManager.beginTransaction().replace(R.id.content_frame, fragment)
  123.                         .commit();
  124.  
  125.             mDrawerList.setItemChecked(possition, true);
  126.            // mDrawerList.setBackgroundColor(getResources().getColor(R.color.blue));
  127.             setTitle(dataList.get(possition).getItemName());
  128.             mDrawerLayout.closeDrawer(mDrawerList);
  129.  
  130.       }
  131.  
  132.       @Override
  133.       public void setTitle(CharSequence title) {
  134.             mTitle = title;
  135.             getActionBar().setTitle(mTitle);
  136.       }
  137.  
  138.       @Override
  139.       protected void onPostCreate(Bundle savedInstanceState) {
  140.             super.onPostCreate(savedInstanceState);
  141.             // Sync the toggle state after onRestoreInstanceState has occurred.
  142.             mDrawerToggle.syncState();
  143.       }
  144.  
  145.       @Override
  146.       public void onConfigurationChanged(Configuration newConfig) {
  147.             super.onConfigurationChanged(newConfig);
  148.             // Pass any configuration change to the drawer toggles
  149.             mDrawerToggle.onConfigurationChanged(newConfig);
  150.       }
  151.  
  152.       @Override
  153.       public boolean onOptionsItemSelected(MenuItem item) {
  154.             // The action bar home/up action should open or close the drawer.
  155.             // ActionBarDrawerToggle will take care of this.
  156.             if (mDrawerToggle.onOptionsItemSelected(item)) {
  157.                   return true;
  158.             }
  159.  
  160.             return false;
  161.       }
  162.  
  163.         private class DrawerItemClickListener implements
  164.                   ListView.OnItemClickListener {
  165.             @Override
  166.             public void onItemClick(AdapterView<?> parent, View view, int position,
  167.                         long id) {
  168.                   SelectItem(position);
  169.                  
  170.  
  171.             }
  172.       }
  173.  
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement