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);
}
}
}