点击一个按钮,在ActionBar-android开发中的下拉菜单中创建一个新项目

点击一个按钮,在ActionBar-android开发中的下拉菜单中创建一个新项目,android,button,drop-down-menu,click,menuitem,Android,Button,Drop Down Menu,Click,Menuitem,我一直在用android创建我的第一个应用程序。 现在我有一个严重的问题,我无法解决,也无法在网络上找到编码类似内容的人。 我想要一个按钮,可以在菜单中添加一个项目, 由文本“Hello”表示。这样的菜单实际上是一个下拉菜单,只需点击ActionBar中的按钮即可显示。 我的代码如下: MainActivity.java package com.mycompany.aad; import android.database.Cursor; import android.os.Bundle; im

我一直在用android创建我的第一个应用程序。 现在我有一个严重的问题,我无法解决,也无法在网络上找到编码类似内容的人。 我想要一个按钮,可以在菜单中添加一个项目, 由文本“Hello”表示。这样的菜单实际上是一个下拉菜单,只需点击ActionBar中的按钮即可显示。 我的代码如下: MainActivity.java

package com.mycompany.aad;

import android.database.Cursor;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.internal.view.menu.ActionMenuItemView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuInflater;
import android.view.SubMenu;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Menu menu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });




        Button buttonX = (Button)findViewById(R.id.button_additem);
        buttonX.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v)
            {
                menu.add(0, 1, 0, "Hello");
            }
        });


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);


        this.menu = menu;

        //the menu option text is defined in resources


        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            default:
                return super.onOptionsItemSelected(item);

        }
    }
menu_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:id="@+id/menu_new_form"
    android:icon="@drawable/arrow"
    android:title="arrow"
    app:showAsAction="ifRoom">
    <menu
        android:id="@+id/submenu">
    <item android:id="@+id/create_new"
        android:title="eganaude" />
    <item android:id="@+id/open"
        android:title="skema" />
    </menu>

</item></menu>
它应该做到这一点,在菜单中添加一个项目,在点击ActionBar的经典“三点”按钮时出现,如果(在我的例子中)这样的按钮还不存在,它将在点击时创建。 如何选择使id在中定义的项目出现在我的菜单中:

android:id="@+id/submenu"
?? 感谢您的帮助

android:id="@+id/submenu"