- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有子项目菜单的选项菜单
当我单击选项菜单时,我的应用程序崩溃,但无法解密日志
我想要一个选项按钮来打开 3 个选项菜单子(monad)项
我检查了一些教程,但我看不出我错在哪里
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/search_button_main_activity"
android:icon="@drawable/search_button"
android:title="@string/search_button"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/notifications_button"
android:title="@string/notifications_button"
app:showAsAction="never" />
<item
android:id="@+id/help_button"
android:orderInCategory="100"
android:title="@string/help_button"
app:showAsAction="never" />
<item
android:id="@+id/about_button"
android:orderInCategory="100"
android:title="@string/about_button"
app:showAsAction="never" />
@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)
日志无法告诉我崩溃来自何处
最佳答案
您收到的错误不是来自菜单。它很可能来自您在 launchSearchActivity
中调用的布局。
据我了解,您想要的内容如下
您可以使用下面给出的 xml 来创建一个类似的菜单(请根据需要更改可绘制对象、名称和 id)
<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>
关于java - 如何使用 subItem InflateException 修复 OptionsMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56837422/
伙计们。 问题来了。假设我的菜单上有三样东西。我希望第一个不可见(如透明)但同时占用空间。第二个和第三个可以正常显示。 谢谢 编辑: 我的菜单上有三个项目。我有垂直排列的菜单,所以像这样: Menu:
我正在尝试制作一个简单的 Activity,它有一个带有两个按钮的菜单。第一个按钮将加载一个单独的 Activity ,而第二个按钮我现在无事可做。我在各处都放置了日志语句,但唯一执行的是 onCre
我想在屏幕顶部显示复选框以允许用户启用屏幕锁定,我只想在他打开选项菜单时显示该复选框。我可以通过覆盖这两种方法来做到这一点 @Override public boolean onMenuOpened(
在我的项目中,我试图以编程方式打开optionsMenu,而无需单击用户的menu 键。我试过 openOptionsMenu() 但它给了我这样的错误 android.view.WindowMana
问题是,如果我按下 OptionsMenu 的硬件按钮,应用程序会卡住,半秒后 fragment View 会消失。 没有 LogCat 错误,这让我有些困惑。菜单在六分之一的 fragment 中不
我只是想知道是否可以在我单击图像时显示我的选项菜单。现在,当单击菜单按钮时,我已经显示了我的选项菜单。但是我也想在用户点击我的 imageView 时显示它。这可能吗? 最佳答案 终于发现这么简单了。
我知道以下可能不是最佳实践,也不推荐这样做。 我有一个向服务器发送数据的 AsyncTask。我需要做的整个过程包括快速连续使用此 AsyncTask 的 4 个 Web 调用。 我了解使用 Asyn
我尝试使用 fragment 更改我的应用程序的 View 。我试了几天,所以我做了一个干净的代码来展示我的问题。我有一个带有 OptionsMenu 的 MainActivity,在这个 Optio
我需要以编程方式创建菜单(与选项卡列表完全相同)以支持我的应用程序中的导航。所以我做了这样的代码 public override bool OnCreateOptionsMenu (IMenu men
我使用在我的主机 Activity MenuActivity 中实现的 NavigationDrawer 模式。我的导航有 3 个项目:项目 1、项目 2、项目 3。每个项目都绑定(bind)到一个
试图了解导致我的 Activity 窗口泄漏的原因。该 Activity 扩展了 AppCompatActivity。它有一个单一的 View ,其中有一个 RecyclerView 和一个在旋转时不
我有一个可用的 SearchView,当用户点击搜索图标时,它会在我的 OptionsMenu 中展开。但是,它仅在其他 OptionsMenu 图标之间的可用空间内扩展。在宽屏幕上这很好,但在狭窄的
我正在使用以下代码创建数据表 ' href='#'>
我有一个带有子项目菜单的选项菜单 当我单击选项菜单时,我的应用程序崩溃,但无法解密日志 我想要一个选项按钮来打开 3 个选项菜单子(monad)项 我检查了一些教程,但我看不出我错在哪里
我在为我的 App 设置首选项时遇到问题。 我想在 ActionBar 中有一个按钮(例如保存),但我的 ActionBar 没有显示任何内容。我将这一行放在 onCreate 方法中: this.s
我正在使用 ActionBarSherlock,我正在尝试使用 viewpager 实现嵌套 fragment 结构。 我有一个包含一些 View 和包装 fragment (FragmentA) 的
我正在使用此代码将选项菜单作为弹出窗口打开: @Override public boolean onPrepareOptionsMenu(Menu menu){ openMenu();
我正在创建 Android 应用程序,我正在尝试尽可能多地遵守最新的 Android 可用性标准。特别是,我正在使用抽屉导航准备用户界面,并试图确保与 2.1+ Android 版本的兼容性。为了理解
我在 viewpager 中有三个 fragment 。 其中两个 fragment 有它们自己版本的 onCreateOptionsMenu 方法: @Override public void o
我已经开发了大约 6 个月的应用程序。它在某些屏幕上使用选项菜单。它一直有效,直到我将 eclipse 从 api ~14 更新到 17。我也更新了工具。 选项菜单不再存在谁能告诉我为什么?在 api
我是一名优秀的程序员,十分优秀!