Android应用程序崩溃与java.lang.IllegalArgumentException:无效的有效负载项类型错误

时间:2014-02-17 17:25:00

标签: android android-fragments

我有一个使用DrawerLayout和ActionbarCompat库的应用程序。我有一些客户在Android Developer控制台上报告了崩溃。

这是异常的Stacktrace

java.lang.IllegalArgumentException: Invalid payload item type
at android.util.EventLog.writeEvent(Native Method)
at android.app.Activity.onMenuItemSelected(Activity.java:2765)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:372)
at android.support.v7.app.ActionBarActivity.superOnMenuItemSelected(ActionBarActivity.java:232)
at android.support.v7.app.ActionBarActivityDelegateICS.onMenuItemSelected(ActionBarActivityDelegateICS.java:159)
at android.support.v7.app.ActionBarActivity.onMenuItemSelected(ActionBarActivity.java:130)
at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onMenuItemSelected(ActionBarActivityDelegateICS.java:295)
at com.android.internal.widget.ActionBarView$3.onClick(ActionBarView.java:172)
at android.view.View.performClick(View.java:4120)
at android.view.View$PerformClick.run(View.java:17112)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
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)

有没有人遇到过这个问题?是否有任何我做错的事情发生。

报告的设备主要是LG Optimus系列设备,当用户按下左上菜单打开抽屉时会发生这种情况。

让我补充一点,应用程序没有在菜单中设置标题或格式化文本。我使用主题样式定义中的displayOptions来压缩标题文本

<style name="theme_light_ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome</item>
</style>

我有标题参考的唯一地方是活动的onCreate

ActionBar ab = getSupportActionBar();
if (ab != null) {
    ab.setDisplayShowTitleEnabled(false);
    ab.setDisplayUseLogoEnabled(true);
}

0 个答案:

没有答案