菜单中的菜单内的子菜单?

时间:2010-06-07 12:37:44

标签: android layout menu

按下菜单按钮,我有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;   
     }
  }

1 个答案:

答案 0 :(得分:2)

Creating Menus子菜单中可以看出,子菜单不能包含子菜单。

单击选项菜单中的项目后,可以显示上下文菜单。 这可以在屏幕上方的浮动视图中显示另外五个选项。

你必须覆盖onCreateContextMenu来创建一个ContextMenu,我认为你必须在onOptionsItemSelected方法中手动调用contextMenu。有关如何创建上下文菜单的资源,请参阅上述文章中的paragraph

要打开ContextMenu,您可以在“活动”中调用openContextMenu。您可能需要先注册menuitem才能使您的活动找到正确的上下文菜单。