0

我正在尝试构建一个 ActionBar 菜单应用程序,但是当我在模拟器中启动它时,会显示以下消息:

不幸的是,玛帕已经停止了。

这是代码:

主要活动:

import android.os.Bundle;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.view.Menu;

public class Mapapp extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mapapp);



}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menuopc, menu);
    return true;
}

}

menuopc.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/mapa"
        android:title="@string/t1"
        android:orderInCategory="1"
        android:showAsAction="always|ifRoom" />

    <item
        android:id="@+id/lista"
        android:title="@string/t2"
        android:orderInCategory="2"
        android:showAsAction="always|ifRoom" />

</menu>

activity_mapapp.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Mapapp" >

</RelativeLayout>

知道有什么问题吗?

谢谢。

4

1 回答 1

2

你不能使用 ifRoom 并且总是在同一个项目中。如果操作栏中没有足够的空间来显示操作项,设备将不知道如何操作。

ifRoom - 仅当有空间时才将此项目放置在操作栏中。

always - 始终将此项目放在操作栏中。除非该项目始终出现在操作栏中很重要,否则请避免使用此选项。将多个项目设置为始终显示为操作项可能会导致它们与操作栏中的其他 UI 重叠。

参考:http: //developer.android.com/guide/topics/resources/menu-resource.html

于 2014-01-14T12:26:27.740 回答