Esempio Menu

 

Creare un nuovo progetto android chiamato HelloMenu

 

Inserire nel layout main.xml una TextView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
 
	<TextView 
		android:id="@+id/textView1"
		android:layout_marginTop="40dip"
		android:layout_height="wrap_content" 
		android:textAppearance="?android:attr/textAppearanceLarge"
		android:layout_width="fill_parent" 
		android:gravity="center" />
</LinearLayout>

 

Creare tre activity chiamate ActivityUno, ActivityDue, ActivityTre, associate al layout main.xml; ogni activity modifica la textview.

public class ActivityUno extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView textView = (TextView)findViewById(R.id.textView1);
        textView.setText("Activity Uno");
    }
}

 

Mappare le activity create sul manifest

        <activity android:name=".ActivityDue"
                  android:label="@string/app_name">
        </activity>
        <activity android:name=".ActivityTre"
                  android:label="@string/app_name">
        </activity>

 

Creare un menu con tre item in res/menu_items.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
 
	<item 
		android:id="@+id/menuUno" 
		android:title="Activity Uno"
		android:titleCondensed="Uno"></item>
	<item 
		android:id="@+id/menuDue" 
		android:title="Activity Due"
		android:titleCondensed="Due"></item>
	<item 
		android:id="@+id/menuTre" 
		android:title="Activity Tre"
		android:titleCondensed="Tre"></item>
 
</menu>

 

Creare una activity BaseActivity con la gestione dei menu

public class BaseActivity extends Activity {
 
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.menu_items, menu);
		return true;
	}
 
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.menuUno:
			startActivity(new Intent(this, ActivityUno.class));
			break;
 
		case R.id.menuDue:
			startActivity(new Intent(this, ActivityDue.class));
			break;
 
		case R.id.menuTre:
			startActivity(new Intent(this, ActivityTre.class));
			break;
		}
		return true;
	}
 
}

 

Le tre activity create in precedenza estenderanno la BaseActivity

public class ActivityUno extends BaseActivity {
	...
}
public class ActivityDue extends BaseActivity {
	...
}
public class ActivityTre extends BaseActivity {
	...
}

AttachmentSize
HelloMenu.zip47.63 KB