android - 我的 MenuItem 的 getActionView() 在 AppCompat 中返回 null

标签 android

我有这个工作正常的菜单 xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      >

    <item
        android:id="@+id/context_menu_save"
        android:actionViewClass="my.app.TextViewPlus"
        android:showAsAction="always"
        android:title="@string/logout"
        android:visible="false"/>
</menu>

但是当我开始使用 AppComap v7 时,我在使用 getActionView() 时遇到了 null 异常。

我将菜单布局更改为:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:myapp="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/context_menu_save"
        myapp:actionViewClass="my.app.TextViewPlus"
        myapp:showAsAction="always"
        android:title="@string/logout"
        android:visible="false"/>
</menu>

现在它工作正常。谁能解释一下,为什么会这样?

最佳答案

xmlns:myapp 当您创建自己的(或使用其他人的)自定义 View 时会用到它。

xmlns:android默认android View 时使用。

关于您的问题,我希望您使用自己(或使用其他人)的自定义 View 。所以你有错误。

关于android - 我的 MenuItem 的 getActionView() 在 AppCompat 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901446/

相关文章:

android - 我们什么时候应该使用 LAYER_TYPE_HARDWARE

android - OneMap 休息 API

android - 无法在 android studio 3.6 中进行 git pull

java - 替代 java.awt.imageproducer for android

android - Flutter-支持多种BuildType的构建

安卓 : Update on UI Thread very fast

android - 具有渐变 alpha 颜色渐变、黑色细边框和平铺背景的自定义 SeekBar

android - 动态更改 ActionBar 背景颜色

java - SVG 上的 Android RotateDrawable 会产生锯齿状边缘

Android:使用 ADB shell 读取 APN