溢出菜单不适用于Appcompat

时间:2015-01-24 05:26:31

标签: android android-studio android-actionbar android-appcompat overflow-menu

我刚从Eclipse迁移到Android Studio,我正在使用Appcompat库,因为它默认出现在Android Studio中,很难将其停用。

问题在于,当我创建一个ActiveBar时,应该在“溢出”菜单中显示的项目永远不会出现,也不会出现溢出菜单图标(3个点)。

只创建了条形图中的项目,如果我触摸硬件键打开溢出菜单,应用程序就会崩溃。

MainActivity.java:

public class MainActivity extends ActionBarActivity {

public final static String EXTRA_MESSAGE = "com.learning.app1.MESSAGE";

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main_activity_actions, menu);

    return super.onCreateOptionsMenu(menu);
}

main_activity_actions:

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

<item android:id="@+id/action_search"
    android:title="@string/action_search"
    android:icon="@drawable/ic_action_search"
    app:showAsAction="ifRoom" />

<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    app:showAsAction="never"/>

logcat的:

01-24 02:48:18.111  14717-14717/com.learning.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x412fa438)
01-24 02:48:18.131  14717-14717/com.learning.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
        at com.android.internal.policy.impl.PhoneWindow.onKeyUpPanel(PhoneWindow.java:986)
        at com.android.internal.policy.impl.PhoneWindow.onKeyUp(PhoneWindow.java:1687)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2098)
        at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3621)
        at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3591)
        at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2834)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4905)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
        at dalvik.system.NativeStart.main(Native Method)

我使用了Android Studio附带的Blank Activity,并且只修改了main_activity_actions XML文件。我不知道我是否有问题,或者Appcompat库是否有错误。

请你帮助我,我会感激不尽。谢谢。

1 个答案:

答案 0 :(得分:0)

这是LG设备的常见问题。请查看我的评论中的链接。