ほとんど透明な背景といくつかのボタンを備えた別のアクティビティはオプションです。でそのアクティビティを呼び出しstartActivityForResult
ます。ボタンのハンドラーで、押されたボタンを示し、「メニュー」アクティビティを閉じるためにsetResult
呼び出します。finish()
次に、「トリガーされた」メニューのアクティビティonActivityResult
で、返されたコードを確認する場所をオーバーライドし、対応するアクションを実行します。
主な活動:
@Override
public void onCreate(Bundle bdl) {
...
findViewById(R.id.button_menu).setOnClickListener(new OnClickListener() {
public void click(View v) {
Intent i = new Intent(MenuActivity.class);
startActivityForResult(i, REQUEST_MENU);
}
}
...
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_MENU) {
switch(resultCode) {
case MENU_ITEM_1:
...
break;
case MENU_ITEM_2:
...
break;
case MENU_ITEM_3:
...
break;
default:
...
}
}
そしてあなたのメニュー活動で:
@Override
public void onCreate(Bundle bdl) {
...
findViewById(R.id.menu_option_1).setOnClickListener(new OnClickListener() {
public void click(View v) {
setResult(MENU_ITEM_1);
finish();
}
findViewById(R.id.menu_option_2).setOnClickListener(new OnClickListener() {
public void click(View v) {
setResult(MENU_ITEM_1);
finish();
}
findViewById(R.id.menu_option_3).setOnClickListener(new OnClickListener() {
public void click(View v) {
setResult(MENU_ITEM_1);
finish();
}
}
...
}