如何将菜单项添加到现有的Android应用程序菜单?

时间:2012-10-19 01:02:35

标签: java android xml layout menu

我是android development的新用户,无法在应用的菜单中添加新的Menu项,并在点按时将其打开并显示菜单视图布局 。到目前为止,我只能更改应用的 menu.xml 文件,这足以创建一个button,与其他人一起显示,当您按下{{ 1}}按钮但不足以让它链接到任何东西。

我的目标只是按下按钮结果,连接到简单的xml布局或对话页面。我猜我需要更改java代码,但我不确定完成这项操作究竟需要什么。我很感激任何建议。

似乎结束“要在您的活动中使用菜单,您需要使用MenuInflater.inflate()来扩展菜单资源(将XML资源转换为可编程对象)。在以下部分中,您将看到如何为每种菜单类型夸大菜单。“我想我需要知道的是如何将项目添加到充气机中以用于其他项目。

有没有人碰巧有我可以插入的香草版?

以下是现有代码的示例,该代码打开对话框并处理关闭和“更改”按钮:

Menu

2 个答案:

答案 0 :(得分:0)

您可以从Eclipse中已有的示例项目中找到许多示例。 这是你在问什么?

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.option_menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Intent serverIntent = null;
    switch (item.getItemId()) {
    case R.id.secure_connect_scan:
        // Launch the DeviceListActivity to see devices and do scan
        serverIntent = new Intent(this, DeviceListActivity.class);
        startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE_SECURE);
        return true;
    case R.id.insecure_connect_scan:
        // Launch the DeviceListActivity to see devices and do scan
        serverIntent = new Intent(this, DeviceListActivity.class);
        startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE_INSECURE);
        return true;
    case R.id.discoverable:
        // Ensure this device is discoverable by others
        ensureDiscoverable();
        return true;
    }
    return false;
}

实际上这段代码来自BluetoothChat示例。希望这个有所帮助。

答案 1 :(得分:0)

您可以在Activity中以编程方式添加子菜单。改编自教程here

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

    SubMenu menu4 = menu.addSubMenu(Menu.NONE, MENU4, 4,"Menu No. 4");
    menu4.add(GROUP1, SUBMENU1, 1, "SubMenu No. 1");
    menu4.add(GROUP1, SUBMENU2, 2, "SubMenu No. 2");
    menu4.setGroupCheckable(GROUP1,true,true);

    return true;

}

在xml中,你可以这样做(取自here):

<item android:title="Normal 1" />

<item android:id="@+id/submenu"
    android:title="Emotions">

    <menu>        

        <item android:id="@+id/happy"
            android:title="Happy"
            android:icon="@drawable/stat_happy" />

        <item android:id="@+id/neutral"
            android:title="Neutral"
            android:icon="@drawable/stat_neutral" />

        <item android:id="@+id/sad"
            android:title="Sad"
            android:icon="@drawable/stat_sad" />

    </menu>

</item>

<item android:title="Normal 2" />