Handle Options Item Selected Event

Description

The following code shows how to Handle Options Item Selected Event.

Example

Main layout xml file


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/uilayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/background">
    
  <ImageButton android:id="@+id/button_one"
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
          android:src="@drawable/button1"
          android:paddingTop="5px"
          android:background="#00000000">
  </ImageButton>
  
  <TextView  android:id="@+id/TextView01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Sample Text" 
        android:textColor="#CCCC77" 
        android:padding="12dip">
  </TextView>
  
  <ImageView  android:id="@+id/ImageView01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/image1">
  </ImageView>
  
</LinearLayout>

Menu xml file


<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/buttonone"
          android:icon="@drawable/image1icon"
          android:title="@string/showimage1" />
          
    <item android:id="@+id/buttontwo"
          android:icon="@drawable/image2icon"
          android:title="@string/showimage2" />
          
    <item android:id="@+id/buttonthree"
          android:icon="@drawable/menu3icon"
          android:title="@string/showwhite" />
          
    <item android:id="@+id/buttonfour"
          android:icon="@drawable/menu4icon"
          android:title="@string/showblack" />
          
    <item android:id="@+id/buttonfive"
          android:icon="@drawable/menu5icon"
          android:title="@string/showalert" />
          
</menu>

Main Activity Java code


/*from  ww w  .ja va 2s .c o m*/
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.app.AlertDialog;
import android.content.DialogInterface;

public class MainActivity extends Activity {
    @Override      
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }  
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.mainmenu, menu);
        return true;
    }    
    public boolean onOptionsItemSelected(MenuItem item) {
      LinearLayout bkgr = (LinearLayout)findViewById(R.id.uilayout);      
      final ImageView image = (ImageView)findViewById(R.id.ImageView01);
      
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("Pick an Image!")
               .setMessage("Please Select Image One or Image Two:")
               .setCancelable(false)

               .setPositiveButton("IMAGE 1", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                        image.setImageResource(R.drawable.image1);
                   }
               })

               .setNegativeButton("IMAGE 2", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                        image.setImageResource(R.drawable.image2);
                   }
               });

        switch (item.getItemId()) {
        case R.id.buttonone:
          image.setImageResource(R.drawable.image1);
            return true;
        case R.id.buttontwo:
          image.setImageResource(R.drawable.image2);
            return true;
        case R.id.buttonthree:
          bkgr.setBackgroundResource(R.color.background2);
            return true;
        case R.id.buttonfour:
          bkgr.setBackgroundResource(R.color.background);
            return true;
        case R.id.buttonfive:
            builder.show();        
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
}




















Home »
  Android »
    Android UI »




UI Basics
Action Bar
Animation
Button
Canvas
CheckBox
Clock Date Picker
Dialog
EditText
Event
Fragment
Gesture
GridView
ImageView
Layout
ListView
Map
Menu
Model
OpenGL
ProgressBar
RadioButton
Spinner
Tab
TextView
Thread
Toast
Video
View
WebView