-2

我在我的 Android 应用程序上的主要活动是 MasterDetailFlow 活动,我不知道如何将项目添加到 ActionBar。我使用了开发者网站上的这段代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_settings"
        android:title="@string/menu_settings"
        android:showAsAction="ifRoom|withText" />
</menu>

我的 XML 文件res/layout如下:

  • activity_item_detail.xml
  • activity_item_list.xml
  • activity_item_twopane.xml
  • fragment_item_detail.xml

当我将上面的 XML 代码添加到其中任何一个时,我得到一个错误:The markup in the document following the root element must be well-formed.

没有一个文件以<?xml version="1.0" encoding="utf-8"?>

4

1 回答 1

1

您需要在单独的 XML 文件中创建菜单,然后对其进行扩展。推荐的方法是创建一个文件夹“menu”并将菜单文件放入其中。

现在您需要创建一个OptionsMenu

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        final MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.myMenu, menu); // inflating the menu
        return super.onCreateOptionsMenu(menu);
    }

创建一个onOptionsItemSelected

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        switch(id) {
            case android.R.id.menu_settings:
               // do whatever you want
                break;

        }
        return super.onOptionsItemSelected(item);
    }
于 2013-01-05T01:52:42.567 回答