无法两次更改复选框视图的背景颜色 - Android

2024-03-06

我尝试改变CheckBox用户将其状态更改为后的背景Checked。下面的代码不能很好地工作。如果我单击未选中的复选框,它将状态和颜色更改为蓝色,当我再次单击它并取消选中时,颜色保持蓝色而不是更改为红色。我做了介绍电话无效()没有成功。我确认该方法收到点击并正确看到检查状态,但是if 语句我所做的似乎只工作一次。

XML

<CheckBox
    android:id="@+id/chkLargeIcons"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="20"
    android:onClick="handleCheckBoxClick" />

Code

public void handleCheckBoxClick(View view) {
    CheckBox tmpChkBox = (CheckBox) findViewById(view.getId());
    if(tmpChkBox.isChecked())
    {
        tmpChkBox.setBackgroundColor(color.blue);
    }
    else
    {
        tmpChkBox.setBackgroundColor(color.red);
    }

    System.out.println(view.getId() + " " + tmpChkBox.isChecked());

    switch (view.getId()) {
    case R.id.chkLargeIcons:
        ...     
    break;
        ...
    }
    ...
}

我应该在代码中更改哪些内容才能使其按我想要的方式工作?

预先感谢您的任何帮助和建议。


要在检查时更改它,您需要附加一个 OnCheckedChangeListener。然后将上面的代码放入其中。

CheckBox tmpChkBox = (CheckBox) findViewById(view.getId());
tmpChkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            buttonView.setBackgroundColor(Color.BLUE);
        } else { 
            buttonView.setBackgroundColor(Color.RED);
        }
    }
 });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法两次更改复选框视图的背景颜色 - Android 的相关文章

  • 销毁Android应用程序

    我开发了一个运行良好的应用程序 我使用了一些静态变量并设置了应用程序级别变量 我的问题是 即使在每个活动上设置 finish 之后 应用程序仍显示在运行模式下 关闭应用程序后 当我在一段时间后启动应用程序时 它将设置最后的更改 我怎样才能销
  • Mono for Android,读取和写入 XLSX

    我正在使用 Mono for Android 开发一个应用程序 我需要读取和创建 XLSX Excel 文件的功能 我尝试过EPPlus和NPOI 并快速浏览了一下微软的Open XML SDK 发现了以下问题 EPPlus 需要 Wind
  • 键入时将编辑文本中的每个单词大写

    我想在打字时将编辑文本中的每个单词大写 My XML
  • 方法调用 mActionBar=getActionBar() 给出错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用支持库android support v7 app actionbar因为我想要操作栏API 级别 8以上 但是下面的句子给了我
  • 如何随着 ViewPager 位置偏移量的变化对视图进行动画处理

    我们希望创建一个带有动画的应用程序介绍 用户可以在其中滚动页面 并且当用户滚动时 视图会动画化并遍历所有幻灯片 动画视图应该随着用户滚动而移动 因此如果用户滚动得更快 动画视图应该移动得更快 如果用户滚动回到上一页 动画视图应该向后移动 这
  • 如何让Service即使被系统杀死也无法删除?

    我正在创建一个蓝光过滤器应用程序 因此 我想显示所有应用程序的视图 我通过以下服务做到了 public class OverlayService extends Service public OverlayService View mVie
  • 使用选项卡式活动中的捆绑包将值从活动传递到片段

    我是一个java文盲 但仍在尝试开发一个供我个人使用的应用程序 我从 android studio 的 Tabbed Activity 开始 除了 MainActivity 中的一个片段和一个包之外 大部分没有改变 这是我的代码 主要活动
  • Android NumberPicker 带字符串

    I have customised the NumberPicker to show text The output is this 当我按 确定 时 我想将 e x 鼠标添加到我的列表 文章 中 我得到的是索引值 int 它由 array
  • Firebase 查询 Or'ing whereEqualTo 以获得可能值的列表

    我见过之前针对早期版本的 Firebase 提出过这个问题 https stackoverflow com questions 26700924 query based on multiple where clauses in fireba
  • 指标元素之间的空间

    如何增加 减少指标元素之间的空间ViewPagerIndicator 我用过CirclePageIndicator 我能够通过以下步骤在两个指标之间留出更多空间 打开源代码CirclePageIndicator并找到变量mRadius 在第
  • 从 ios 和 android 端连接到 xmpp 时获取所有群组消息

    我在用开放火版本 4 0 1 使用开火Rest Api https github com gidkom php openfire restapi我在服务 servicename xx xx xxx xxx 中创建了群聊室 现在房间已创建 发
  • Android 构建签名 APK 时出错:找不到用于签名配置“externalOverride”的 keystore.jks

    当我尝试构建签名 APK 时出现此错误 我最近升级到 API 23 但之后成功生成了 APK s 我很困惑 寻求帮助并建议如何解决这个问题 这是错误 FAILURE Build failed with an exception What w
  • Android TableRow 垂直拉伸以填充屏幕

    我正在尝试创建一个电话拨号器视图 使用 TableLayout 在 3x4 网格中创建 12 个按钮 我希望行垂直拉伸以平等地使用所有可用空间 但似乎 fill parent 在 TableRows 上不起作用 我不想使用 setMinim
  • 方法不必要地被调用?

    我有一个 BaseActivity 它可以通过其他所有活动进行扩展 问题是 每当用户离开 暂停 活动时 我都会将音乐静音 我也不再接听电话 问题是 onPause每当用户在活动之间切换时就会被调用 这意味着应用程序不必要地静音和停止tele
  • 拦截来自外部应用程序的意图

    假设我想开发一个以某种方式扩展的应用程序 让我说 合作 非常受欢迎的应用程序我显然无法控制 为了简单起见 我们还假设非常著名的应用程序作者不会发布更新来阻止我的应用程序 我研究了该应用程序的功能并发现它广泛使用BroadcastReceiv
  • 如何增加颤振中切屑的宽度

    我想增加宽度Chip 我怎样才能实现这个目标 Chip elevation 6 0 backgroundColor Colors white shape RoundedRectangleBorder borderRadius BorderR
  • 如何在 Fragment 中使用 onNewIntent(Intent Intent) 方法?

    我正在尝试从我的设备使用 NFC 硬件 但是 问题是当我注册 Activity 来接收 Intent 时 PendingIntent pendingIntent PendingIntent getActivity this 0 new In
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提

随机推荐

  • 指定 Maven security-settings.xml 文件的自定义位置?

    使用 Maven 您可以轻松指定 settings xml 位置 例如 mvn s custom dir settings xml package 有没有类似的方法来指定自定义 security settings xml 其背后的原因很简单
  • 使用日历检查日期是否有效

    我想使用日历方法来设置年份和月份 但想要某种指示如果日期无效 例如 calendar set 2013 Calendar JANUARY 23 is a valid date calendar set 2013 Calendar JANUA
  • 如何启用/禁用 JEditable

    SOLUTION 感谢 Arman 的 P 概念验证 终于让它可以与我的网站一起使用了 CODE Edit Note function function makeEditable edit editable ajax save php ed
  • CStr() 与 Str() 与 .ToString()

    我想知道两者之间到底有什么区别CStr Str and ToString Label1 Text CStr Int Rnd 10 and Label1 Text Str Int Rnd 10 and Label1 Text Int Rnd
  • 以编程方式将主题应用到按钮

    是否可以以编程方式将 Widget AppCompat Button 主题应用于按钮 Button button new Button context button setText Button 目前 我正在使用自定义可绘制资源 尝试实现类
  • 如何从GridView中删除一行?

    我在用GridView控制在asp net questions tagged asp net 2005 c questions tagged c 23 using 如何从中删除特定行GridView 我编写了以下代码 但这不起作用 Data
  • 退出应用程序会导致错误“来自调试器的消息:由于信号 9 而终止”

    我正在编写一个基本的音乐播放器应用程序 但在处理应用程序状态转换时遇到一些问题 我正在使用 Swift 3 和 MPMusicPlayerController systemMusicPlayer 目标是这样的 1 当用户点击主页按钮并且应用
  • 使用 Sass 以可重用的方式设计一组特定的输入类型

    我想要一个 mixin 函数 它返回 HTML5 输入类型的列表 我想在一个地方管理它 当新类型出现时 改变函数 而不是代码中其他地方的所有地方 问题似乎是 mixins 的设计目的不是返回可以在 CSS 花括号之外使用的字符串 这是我的
  • jQuery 热键 - 解除绑定?

    我有一个 jQuery 对话框 它初始化热键如下 循环从 1 到 9 问题是 如果您关闭对话框然后重新打开对话框 它不断重新绑定 因此当您按下 1 键时 它会运行两次 三次 四次等 它会不断增长 我尝试杀死对话框上的键绑定关闭 docume
  • 带参数和选项的 C# 方法重载

    今天我发现了一些奇怪的事情 我想知道为什么这有效 static void Main string args Console WriteLine ExampleMethod 3 Console ReadKey public static st
  • 无反向匹配 /

    我正在尝试制作非常有意义的网址 但我想我做错了 这有效 from django conf urls defaults import patterns url from places views import explore view url
  • 如何仅在本地标头上运行预处理器?

    我希望预处理器读取本地标头的包含内容 但忽略系统标头的包含内容 换句话说 如何让预处理器跳过以下形式的预处理指令 include
  • 如何通过 Fluent NHibernate 添加事件监听器?

    我想添加一个事件监听器 IPreUpdateEventListener 添加 NHibernate 但我似乎找不到使用流畅配置的示例 我希望能够在创建会话工厂时添加监听器 例如当执行以下代码时 sessionFactory Fluently
  • phpMyAdmin 提供了export.php 而不是数据库sql 转储

    环境 Windows 10 Enterprise x64 上的 Wamp 服务器 2 5 x64 MySQL 5 6 17 phpmyadmin4 1 14 全新安装 自昨天完全安装以来没有重大变化 完全控制访问C wamp tmp Win
  • VS Code 中的 Prettier - 在双引号内设置双引号的格式

    我在 VS Code 中使用 Prettier 扩展 我想在代码中使用双引号 jsxSingleQuote 和 singleQuote 设置为 false 当我在这行代码上运行 format 时 var hello hello Pretti
  • 更改 AppSetting 不会对应用程序产生影响

    在我正在 ASP Net 上开发的应用程序之一中 在此应用程序中 我们使用了大量的 AppSettings 在最初的开发中我们使用了ConfigurationManager AppSettings 但随着开发的进展 我们创建了一个实用程序类
  • 正向地理编码后如何返回坐标?

    我试图查看用户是否在某个地址的一定距离内 我已成功获取用户位置 并使用正向地理编码转换地址 我留下了两组坐标 我试图做出一个 if 语句 表示如果它们在 一定距离 内 则打印一些内容 目前 当我打印地标函数内的坐标时 我得到了所需的坐标 当
  • 是否有一个类来保存文件系统路径?

    在 NET 基类库中 有一个 System IO Path 类 用于对表示文件系统路径的字符串执行常见操作 然而 我需要的是封装路径的类相反 我得到了类型安全和可能更短的路径操作表示法 我正在考虑 NET 等价的C Boost 的 http
  • Android 蓝牙跨平台互操作性

    我有一个在 Windows 机器上为 Net 编程的蓝牙服务 我希望我的 Android 2 1 手机能够连接到它 服务器正在侦听 Android 用于连接的相同 UUID 但连接失败 当我尝试连接到未侦听该 UUID 的设备时 出现异常并
  • 无法两次更改复选框视图的背景颜色 - Android

    我尝试改变CheckBox用户将其状态更改为后的背景Checked 下面的代码不能很好地工作 如果我单击未选中的复选框 它将状态和颜色更改为蓝色 当我再次单击它并取消选中时 颜色保持蓝色而不是更改为红色 我做了介绍电话无效 没有成功 我确认