onCreateDrawableState 永远不会调用

2024-03-17

我必须向RelativeLayout 添加新状态,但永远不会调用onCreateDrawableState 方法。

我的班级是:

public class UnreadableRelativeLayout extends RelativeLayout 
{
private static final int[] STATE_UNREADED = {R.attr.state_unreaded};
private boolean isUnreaded = false;

public UnreadableRelativeLayout(Context context) 
{
    super(context);
}

public UnreadableRelativeLayout(Context context, AttributeSet attrs) 
{
    super(context, attrs);
}

public UnreadableRelativeLayout(Context context, AttributeSet attrs, int defStyle) 
{
    super(context, attrs, defStyle);
}

public void setUnreaded(boolean isUnreaded) 
{
    if (this.isUnreaded != isUnreaded)
    {
        this.isUnreaded = isUnreaded;
        refreshDrawableState();
    }
}

@Override
protected int[] onCreateDrawableState(int extraSpace) 
{
    final int[] drawableState = super.onCreateDrawableState(extraSpace + 1);
    if (isUnreaded) mergeDrawableStates(drawableState, STATE_UNREADED);
    return drawableState;
}

}

为什么 onCreateDrawableState 方法永远不会调用?


尝试创建单独的布局android:duplicateParentState="true"并在你的课堂上给它充气。它适用于 Android 4.0.4:

不可读的相对布局.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:duplicateParentState="true" >
    ...
</RelativeLayout>

不可读的相对布局.java:

public class UnreadableRelativeLayout extends RelativeLayout {

    public UnreadableRelativeLayout(Context context, AttributeSet attrs) {
        super(context, attrs);

        LayoutInflater factory = LayoutInflater.from(context);
        factory.inflate(R.layout.unreadable_relative_layout, this);
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

onCreateDrawableState 永远不会调用 的相关文章

  • 如何使用 gradle 从 3 个子模块构建 1 个 jar

    I have 安卓工作室3 gradle 4 1 梯度工具3 classpath com android tools build gradle 3 0 1 当我有一个模块并使用 gradle 工具 2 时 我使用了 task makeJar
  • 如何在应用程序关闭时在 Android 通知中显示操作按钮?

    我有一个安卓应用程序 对于通知 我们必须显示一些操作按钮 当应用程序打开时 我们可以自由地构建通知并显示操作按钮 但是当应用程序关闭时 通知会在 Android 的通知托盘中收到 应用程序开发人员无法控制构建用户界面和操作按钮 我们现在如何
  • Android:初始化本机 AudioRecord 对象时 AudioRecord 错误代码 -20

    Android 我想从麦克风读取缓冲区 以便我可以对其执行处理 以下是我的代码 int sampleRateInHz 8000 44100 22050 and 11025 int channelConfig AudioFormat CHAN
  • 当满足条件时,如何以编程方式更改 ImageButton src 目标?

    我有一个学校项目 我正在尝试开发一个手电筒应用程序 对于开 关 ImageButton 我想要 4 个自定义图像 如果手电筒关闭 turn on png 默认 turn on pressing png 按下状态 true 如果手电筒打开 t
  • 吉夫伦致命信号11

    我正在尝试使用一些本机代码来创建 Gif 我使用绘画绘制图像 创建一些笔画 单击 保存 绘制的图像将保存为 JPG 格式 当我单击 创建 Gif 时 它会获取所有图像并开始创建 gif 这是当我收到致命信号 11 并且应用程序重新启动时 我
  • 覆盖 Android 中的电源按钮

    我正在开发一个应用程序 其中我需要在按下电源按钮时执行一个操作 但不幸的是我无法处理按下电源按钮时的操作 我尝试使用 onKeyDown 和dispatchKeyEvent 方法 但似乎没有任何效果 任何人都可以建议我解决这个问题的任何其他
  • document.ready 之前的 Jquery UI 界面看起来很难看

    HTML 元素在 onload 或 document ready 被触发之前显示 所有 jQuery UI 小部件都在 document ready 上加载 这使得页面在最初几秒钟看起来很难看 处理它的可能选项 在使用 jQuery UI
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 如果使用grifika的ContinualCaptureActivity中的预览方式,相机预览的视野会更小

    我们知道 当相机预览比例设置为时 在相同距离下我们会得到更大的预览视野4 3代替16 9 具体如下 Android Camera API 奇怪的缩放效果 https stackoverflow com questions 20664628
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • 从ListView中隐藏行而不占用空间

    我有一个带有关联 ArrayAdapter 的 ListView 它在多个活动中显示其内容 不幸的是 现在有必要 我的 ListView 在其中一项设置中不显示其所有元素 而仅显示 属性 未设置为 true 的元素 我想避免使用两个具有不同
  • 错误类型 3 - 活动类不存在

    我正在尝试运行 webRTC 应用程序 但返回以下错误 启动应用程序 com onlinevoicecallapp com onlinevoicecallapp MainActivity 设备外壳命令 am start n com onli
  • Android上如何获取ImageView的Drawable的矩形?

    我想要获取将包裹 ImageView 的 Drawable 的矩形对象 而不是包裹 ImageView 的矩形 我将使用该矩形在 Drawable 周围绘制一些奇特的矩形 我怎样才能得到那个矩形 Rect rect new Rect Ima
  • 选项卡主机内的 Android Fragment 视图状态 [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Fragment 为 Android 中的每个选项卡单独的返回堆栈 https stackoverflow com questions 6987334 separate back stack f
  • MIUI 权限被拒绝活动 KeyguardLocked

    当应用程序处于后台且屏幕被锁定时 我无法启动活动 没有异常或警告 只是不调用 onCreate 我一直在与这个问题作斗争 我想我终于找到了它的根源 日志中有一行 D com android server am ExtraActivityMa
  • 是否可以通过 Android 应用程序来录音?

    我是一名开发人员 希望创建一个 Android 应用程序来记录电话 这是出于我个人的需要 为了我自己的目的和记录而记录电话 是否有可能做到这一点 是否可以访问麦克风以及通过扬声器发出的声音 我对 Android 开发有点陌生 所以请耐心等待
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • LifeCycleAware Fragment 中的片段生命周期事件

    我有一个生命周期感知片段和一个LifecycleObserver class public class MyFragment extends Fragment Override public void onCreate Nullable B
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva

随机推荐

  • 检测堆栈溢出

    操作系统如何检测用户空间程序的堆栈溢出 然后将 SIGTERM 或 SIGSEGV 发送到这些用户空间程序 防护页 当操作系统为程序创建堆栈时 它将分配比指定的多一点的空间 内存按页分配 通常每页 4KB 并且额外的页将进行设置 以便任何访
  • 从 CGImage 获取像素格式

    我非常了解位图布局和像素格式主题 但在处理通过加载的 png jpeg 图像时遇到问题NSImage 我无法弄清楚我得到的是预期行为还是错误 let nsImage NSImage NSImage byReferencingURL let
  • Pylint 无法与 OS X 上的 Emacs GUI 一起使用;从命令行工作

    从命令行运行时 emacs filename py flymake 和 pylint 完美配合 错误被正确突出显示 尽管我无法通过工具提示悬停来获取错误详细信息 因为它是文本模式 当从 GUI Carbon Emacs 运行时 Flymak
  • 如何防止TouchEvent滚动

    我有一个自定义视图 其中具有触摸事件 滑动等 的功能 现在 这个自定义视图可能会在一个ScrollableLayout 那么问题是 当用户在我的自定义视图内滑动时 父级 可滚动布局 也将处理滑动手势 因此它会滚动 但它不应该滚动 我需要类似
  • 如何一次在目录中的多个文本文件中搜索文本字符串

    我有一个列表框 其中包含一定数量的项目 对于列表框中的每个项目 文件目录中都存在一个相应的文本文件 我需要在每个文本文件 基于列表框中的内容 中搜索人名 每个文本文件可能包含名称 也可能不包含名称 然后我想要返回包含该名称的文本文件 我尝试
  • 检测 powershell 中的注销和登录

    如何使用powershell检测用户是否从windows系统 最好是win7 vista或XP 登录或注销 我想注册每次登录和注销机器的日期和时间 先感谢您 您可以从事件日志中获取此信息 Get EventLog System Source
  • 签署程序集 - 基础知识

    签署集会意味着什么 为什么这样做 最简单的签名方法是什么 snk 文件有什么用 其他两个答案都很好 但还有一点 证书 签名和 强名称 签名很容易混淆 正如 Stefan Steinegger 所说 强名称签名的目的是 让您的客户确定他们认为
  • 如何使 Xamarin.Mac 应用程序“登录时打开”?

    我有一个 Xamarin Mac 应用程序需要在登录时自动打开 如何让我的应用程序获得此设置而无需手动单击它 我可以给你一个如何以编程方式完成的提示 对于这种方法 您需要通过以下方式调用本机库DllImport 以下代码将让您了解如何继续
  • 如何使我的类上的自定义事件消费成为可选?

    当我注释掉fm OnLoaded下面一行 它给我一个错误 OnLoaded 为空 如何使我的类的调用者可以选择是否像 NET 类 事件一样使用该事件 using System using System Windows namespace T
  • set_time_limit 在 Heroku 上不起作用

    我正在使用 PHP 和 heroku 由于某些数据库插入和查询 我不断收到请求超时错误 我将此行添加到我的所有 php 文件中以避免此错误 set time limit 0 但是 我仍然收到此错误 heroku 会忽略这个命令吗 我做了一个
  • 谷歌应用程序引擎中的选择属性

    平台 django 1 0 谷歌应用程序引擎 app engine patch python 2 5 4 我正在尝试使用 Choice 属性 就像我一直在 django 网站中使用的那样 STATUS CHOICES 1 Yet To St
  • 无法使用 GetManifestResourceStream() 加载清单资源

    我使用 XSD 创建了一个自定义配置部分 为了解析遵循这个新架构的配置文件 我使用以下内容加载资源 我的 xsd 文件 public partial class MonitoringConfiguration public const st
  • 如何使用Python进行大规模开发?

    我有兴趣了解 Python 的大规模开发 特别是如何维护大型代码库 当您对方法的签名进行不兼容的更改时 如何找到调用该方法的所有位置 在C Java中 编译器会为你找到它 那么在Python中你如何做到这一点呢 当您在代码深处进行更改时 由
  • 使用自动更新计数器保持 $SESSION 活动

    我希望将会话保持三天 并且每当他们访问该页面时 它就会再次更新最多三天 基本上 如果他们三天不访问该网站 他们的会话就会下降 ini set session cookie lifetime 60 60 24 3 saw on a simil
  • 在单独的线程中运行 SimpleXMLRPCServer 并关闭

    我有一个类 我希望通过 python 中的 SimpleXMLRPCServer 进行测试 我设置单元测试的方法是创建一个新线程 并在其中启动 SimpleXMLRPCServer 然后我运行所有测试 最后关闭 这是我的服务器线程 clas
  • 带有图像背景和鼠标绘制的面板

    如果 Paint 方法已用于其他目的 如何在 JPanel 中使用图像作为背景 我试图在面板中绘制图像 这是我用铅笔绘制的代码 但我不知道如何添加图像作为背景 Override public void paint Graphics g if
  • 将环境变量传递给角度库

    我使用 angualr2 library yeoman 生成器创建了公司内部库 一些 Angular 服务在我们当前的应用程序中使用环境变量 API 端点在每个环境上都会更改 我想知道将当前环境对象传递给 angular2 库服务的最佳方法
  • 如何在ng bootstrap的输入中设置日期格式

    我在用NG引导程序 https ng bootstrap github io components datepicker日期选择器 我想在输入标签中设置日期格式 这是我的html代码
  • 将盲文字符打印到 cmd c++

    对于一个程序 我需要将盲文字符输出到控制台 我找到了一种使用如下代码输出 unicode 字符的方法 include
  • onCreateDrawableState 永远不会调用

    我必须向RelativeLayout 添加新状态 但永远不会调用onCreateDrawableState 方法 我的班级是 public class UnreadableRelativeLayout extends RelativeLay