在我的活动中有一个选项菜单,对于一个项目有一个子菜单。我想要下面的子菜单项
我有像这样的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>
我知道选项菜单是可能的,但我想放一个子菜单项。 我怎样才能做到这一点? 还有其他办法吗?
答案 0 :(得分: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();
答案 1 :(得分:0)
您可以从onkeyDown()方法覆盖菜单按钮,并显示此对话框显示它将显示为菜单本身.....!
答案 2 :(得分: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);
答案 3 :(得分: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;
}