按下菜单按钮,我有2个选项:添加&更多。 点击更多我有3个选项:组织,出口&出口 单击组织我想要其他5个选项。
点击更多我得到我的子菜单。但我想点击组织的其他5个选项。我如何继续???
我的部分代码如下: XML文件-------------------------------
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/more"
android:title="@string/moreMenu"
android:icon="@drawable/icon">
<menu>
<item android:id="@+id/Organize"
android:title="@string/Organize" />
<item android:id="@+id/Export"
android:title="@string/Export" />
</menu>
</item>
<item
android:id="@+id/add"
android:title="@string/addMenu"
android:icon="@drawable/add"/>
</menu>
爪哇-------------------------
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class ToDoList extends Activity {
Menu menu;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.todolist);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.layout.categorymenu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.more:
Toast.makeText(this, "You pressed more!", Toast.LENGTH_LONG).show();
//(What needs to be done from here)
return true;
case R.id.add:
Toast.makeText(this, "You pressed add!", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
public boolean onPrepareOptionsMenu(Menu menu) {
return true;
}
}
答案 0 :(得分:2)
从Creating Menus子菜单中可以看出,子菜单不能包含子菜单。
单击选项菜单中的项目后,可以显示上下文菜单。 这可以在屏幕上方的浮动视图中显示另外五个选项。
你必须覆盖onCreateContextMenu来创建一个ContextMenu,我认为你必须在onOptionsItemSelected方法中手动调用contextMenu。有关如何创建上下文菜单的资源,请参阅上述文章中的paragraph。
要打开ContextMenu,您可以在“活动”中调用openContextMenu。您可能需要先注册menuitem才能使您的活动找到正确的上下文菜单。