Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复带有子项InflateException的选项菜单_Java_Android_Menu_Submenu - Fatal编程技术网

Java 如何修复带有子项InflateException的选项菜单

Java 如何修复带有子项InflateException的选项菜单,java,android,menu,submenu,Java,Android,Menu,Submenu,我有一个带有子项菜单的选项菜单 当我点击选项菜单时,我的应用程序崩溃,但我无法解密日志 我想有一个选项按钮谁打开3个选项菜单子项 我查阅了一些教程,但我看不出哪里错了 <?xml version="1.0" encoding="utf-8"?> 以下是错误消息: 2019-07-01 16:12:46.581 com.matt.android.mynews E/AndroidRuntime: FATAL EXCEPTION: main Process: com.matt.andro

我有一个带有子项菜单的选项菜单

当我点击选项菜单时,我的应用程序崩溃,但我无法解密日志

我想有一个选项按钮谁打开3个选项菜单子项

我查阅了一些教程,但我看不出哪里错了

<?xml version="1.0" encoding="utf-8"?>
以下是错误消息:

2019-07-01 16:12:46.581 com.matt.android.mynews E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.matt.android.mynews, PID: 7624
android.view.InflateException: Binary XML file line #51: Binary XML file line #51: Error inflating class TextView
Caused by: android.view.InflateException: Binary XML file line #51: Error inflating class TextView
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 4: TypedValue{t=0x2/d=0x1010099 a=1}
    at android.content.res.TypedArray.getColor(TypedArray.java:461)
    at android.widget.TextView.<init>(TextView.java:771)
    at android.widget.TextView.<init>(TextView.java:704)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:87)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:83)
    at android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
    at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
    at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:522)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
    at android.support.v7.view.menu.MenuAdapter.getView(MenuAdapter.java:94)
    at android.support.v7.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161)
    at android.support.v7.view.menu.StandardMenuPopup.tryShow(StandardMenuPopup.java:174)
    at android.support.v7.view.menu.StandardMenuPopup.show(StandardMenuPopup.java:208)
    at android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290)
    at android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:177)
    at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:806)
    at android.os.Handler.handleCallback(Handler.java:754)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:163)
    at android.app.ActivityThread.main(ActivityThread.java:6228)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
2019-07-01 16:12:46.581 com.matt.android.mynews E/AndroidRuntime:FATAL EXCEPTION:main
进程:com.matt.android.mynews,PID:7624
android.view.InflateException:二进制XML文件行#51:二进制XML文件行#51:膨胀类TextView时出错
原因:android.view.InflateException:二进制XML文件行#51:膨胀类TextView时出错
原因:java.lang.UnsupportedOperationException:未能解析索引4处的属性:TypedValue{t=0x2/d=0x1010099 a=1}
位于android.content.res.TypedArray.getColor(TypedArray.java:461)
位于android.widget.TextView。(TextView.java:771)
位于android.widget.TextView。(TextView.java:704)
位于android.support.v7.widget.AppCompatTextView。(AppCompatTextView.java:87)
位于android.support.v7.widget.AppCompatTextView。(AppCompatTextView.java:83)
在android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)中
位于android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
位于android.support.v7.app.AppCompateDelegateImpl.createView(AppCompateDelegateImpl.java:1266)
位于android.support.v7.app.AppCompateDelegateImpl.onCreateView(AppCompateDelegateImpl.java:1316)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
在android.view.LayoutInflater.充气(LayoutInflater.java:522)
在android.view.LayoutInflater.inflate(LayoutInflater.java:430)
位于android.support.v7.view.menu.MenuAdapter.getView(MenuAdapter.java:94)
在android.support.v7.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161)中
位于android.support.v7.view.menu.StandardMenuOpup.tryShow(StandardMenuOpup.java:174)
位于android.support.v7.view.menu.StandardMenuOpup.show(StandardMenuOpup.java:208)
在android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290)中
在android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:177)中
位于android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:806)
位于android.os.Handler.handleCallback(Handler.java:754)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:163)
位于android.app.ActivityThread.main(ActivityThread.java:6228)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:904)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

日志无法告诉我崩溃来自何处

您得到的错误不是来自菜单。它很可能来自您在
launchSearchActivity
中调用的布局

据我所知,你想要的是下面这样的东西

您可以使用下面给出的xml创建一个类似的菜单(请根据需要更改可绘图项、名称和ID)



在XML的第51行,您应该有一个文本视图。该TextView似乎包含一个不存在的属性。我已复制/粘贴了您的代码,并用mines替换了ID/drawables,但错误仍然是相同的XML第51行,我在布局中找不到任何内容。我已从“设置”中删除了内部项标记菜单查看应用程序是否崩溃,即使它们没有显示,请删除Toast消息,并且应用程序没有崩溃看起来问题出在您的
fragment\u search.xml
,请检查此行。尝试为android:hint使用硬编码值,并检查错误错误是否仍然相同,我已尝试从此布局中删除textview,但错误仍然相同,第51行相同。。。我猜它不是从这里来的
 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_activity_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.search_button_main_activity:
            this.launchSearchActivity();
            return true;
        case R.id.notifications_button:
            Toast.makeText(this, "This will launch notification feature", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.about_button:
            Toast.makeText(this, "This will launch about feature", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.help_button:
            Toast.makeText(this, "This will launch help feature", Toast.LENGTH_SHORT).show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
2019-07-01 16:12:46.581 com.matt.android.mynews E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.matt.android.mynews, PID: 7624
android.view.InflateException: Binary XML file line #51: Binary XML file line #51: Error inflating class TextView
Caused by: android.view.InflateException: Binary XML file line #51: Error inflating class TextView
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 4: TypedValue{t=0x2/d=0x1010099 a=1}
    at android.content.res.TypedArray.getColor(TypedArray.java:461)
    at android.widget.TextView.<init>(TextView.java:771)
    at android.widget.TextView.<init>(TextView.java:704)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:87)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:83)
    at android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
    at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
    at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:886)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:522)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
    at android.support.v7.view.menu.MenuAdapter.getView(MenuAdapter.java:94)
    at android.support.v7.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161)
    at android.support.v7.view.menu.StandardMenuPopup.tryShow(StandardMenuPopup.java:174)
    at android.support.v7.view.menu.StandardMenuPopup.show(StandardMenuPopup.java:208)
    at android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290)
    at android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:177)
    at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:806)
    at android.os.Handler.handleCallback(Handler.java:754)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:163)
    at android.app.ActivityThread.main(ActivityThread.java:6228)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item
    android:id="@+id/action_rate" android:title="@string/action_rate"
    android:icon="@drawable/ic_favorite_border_black_24dp" app:showAsAction="always|withText"/>
<item
    android:icon="@drawable/ic_more_vert_black_24dp"
    android:title="More"
    app:showAsAction="always">
    <menu>
        <item android:id="@+id/action_contact_us" android:icon="@drawable/ic_email_black_24dp"
            android:title="@string/action_about"
            android:orderInCategory="102" app:showAsAction="never"/>
        <item android:id="@+id/action_moreapps" android:icon="@drawable/ic_shop_black_24dp"
            android:title="@string/action_more_apps"
            android:orderInCategory="103" app:showAsAction="never"/>
        <item android:id="@+id/action_exit" android:icon="@drawable/ic_close_black_24dp"
            android:title="@string/action_exit"
            android:orderInCategory="107" app:showAsAction="never"/>
    </menu>
</item>