package com.hfad.bitsandpizzas; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.ShareActionProvider; import android.widget.Toast; public class MainActivity extends Activity { private ShareActionProvider shareActionProvider; private String[] titles; // local list of categories private ListView drawerList; private DrawerLayout drawerLayout; private class DrawerItemClickListener implements ListView.OnItemClickListener { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { selectItem(position); } } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // populate local list of categories titles = getResources().getStringArray(R.array.titles); drawerList = (ListView) findViewById(R.id.drawer); drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); // Populate the list view drawerList.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_activated_1, titles)); drawerList.setOnItemClickListener(new DrawerItemClickListener()); if (savedInstanceState == null) { // if MainActivity newly created ... selectItem(0); } } private void selectItem(int position) { // update the main content by replacing fragments Fragment fragment; switch (position) { case 1: fragment = new PizzaFragment(); break; case 2: fragment = new PastaFragment(); break; case 3: fragment = new StoresFragment(); break; default: fragment = new TopFragment(); } FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, fragment) .addToBackStack(null) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE) .commit(); //Set the action bar title setActionBarTitle(position); //Close drawer drawerLayout.closeDrawer(drawerList); } private void setActionBarTitle(int position) { String title; if (position == 0) { title = getResources().getString(R.string.app_name); } else { title = titles[position]; } getActionBar().setTitle(title); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Add menu_main items to the action bar (if present): getMenuInflater().inflate(R.menu.menu_main, menu); MenuItem menuItem = menu.findItem(R.id.action_share); shareActionProvider = (ShareActionProvider) menuItem.getActionProvider(); setIntent("This is example text."); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_create_order: //Code to run when the Create Order item is clicked Intent intent = new Intent(this, OrderActivity.class); startActivity(intent); return true; case R.id.action_settings: //Code to run when the settings item is clicked Toast.makeText(MainActivity.this, "Settings!", Toast.LENGTH_SHORT).show(); return true; default: return super.onOptionsItemSelected(item); } } private void setIntent(String text) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, text); shareActionProvider.setShareIntent(intent); } }