0

私のアクティビティにはオプション メニューがあり、項目にはサブメニューがあります。下のサブメニューが欲しいメニュースタイル

私はこのようなxmlを持っています、

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/file"
          android:icon="@drawable/file"
          android:title="@string/file" >
        <!-- "file" submenu -->
        <menu>
            <item android:id="@+id/create_new"
                  android:title="@string/create_new" />
            <item android:id="@+id/open"
                  android:title="@string/open" />
        </menu>
    </item>
</menu>

オプションメニューは可能ですが、サブメニュー項目を入れたいです。どうやってやるの?これを行う他の方法はありますか?

4

4 に答える 4

2

メニューを使用する代わりに、独自のダイアログを表示する必要があります。

http://developer.android.com/guide/topics/ui/dialogs.html

ここに画像の説明を入力

final CharSequence[] items = {"Red", "Green", "Blue"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();
于 2011-09-07T05:02:36.613 に答える
0

コードは次のようになります。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    //return super.onKeyDown(keyCode, event);
    if(keyCode==KeyEvent.KEYCODE_MENU){
        // now create your dialog here
        return true;
    }
    return false;
}
于 2011-09-07T09:18:58.527 に答える
0

onkeyDown() メソッドからメニュー ボタンをオーバーライドし、このダイアログを表示して、それがメニュー自体として表示されることを示すことができます.....!

于 2011-09-07T05:10:21.027 に答える
0

スピナーを使用できます:

String na[] = new String[namelist.size()];
Spinner spinname =(Spinner)findViewById(R.id.networkname); 
ArrayAdapter<String> adapter=new ArrayAdapter<String>this,android.R.layout.simple_spinner_item,na);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);         
spinname.setAdapter(adapter);
于 2011-09-07T06:11:51.660 に答える