首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何以编程方式检查带有纹章动画的Android单选按钮?

如何以编程方式检查带有纹章动画的Android单选按钮?
EN

Stack Overflow用户
提问于 2016-06-30 15:54:59
回答 1查看 1.3K关注 0票数 6

tl;dr:当用户单击一个无关的文本视图时,我希望选择一个带有纹章动画的单选按钮。performClick不会这么做的。我该怎么做呢?

我有一个单选按钮,上面有标签和更长的描述。

我的布局的总体结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<RadioGroup>

  <RadioButton
      id="@+id/officialBusinessRadio"
      text="Official business" />

  <TextView
      id="@+id/officialBusinessCaption"
      text="This operates under a ..." />

  <!-- ... -->

</RadioGroup>

我在文本视图中添加了一个OnClickListener,这样点击标题就可以选择单选按钮:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
officialBusinessCaption.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
    officialBusinessRadio.performClick();
  }
});

当我点击单选按钮本身或它自己的文本(“正式事务”),单选按钮动画到选定的,并出现涟漪墨水效果。当我在标题文本(和performClick被调用)顶部时,单选按钮仍然是被选中的,但不会产生连锁反应。

有更正确的方法来获得这种效果吗?也就是说,是否有更好的方法将单击标题文本视图转发到单选按钮?如果没有,是否有一种直接的方式以编程方式触发单选按钮上的连锁反应?

出于以下原因,我倾向于不使用字符串资源设置所有文本:

  • 我打算用不同的方式设计标签和标题。
  • 我希望无线电垂直中心与第一行文字对齐。
EN

回答 1

Stack Overflow用户

发布于 2018-11-26 03:49:05

我在一个RadioButton中使用了人口RecyclerView来解决这个问题。所有这些选项都设置为isClickable = false,因为我根据另一条规则重写了它们的选择,但是将选择触发到true的方法如下:

Kotlin:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    radioButton.post {
        radioButton.isChecked = true
    }

Java:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    radioButton.post(new Runnable() {
        @Override
        public void run() {
            radioButton.setChecked(true);
        }
    })

在此之前,我只做setChecked(true),这是行不通的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38135019

复制
相关文章
基类派生类多态虚函数?
通常在层次关系的根部有一个基类,其他类则直接或间接的从基类继承而来,这些继承得到的类称为派生类。基类负责定义在层次关系中所有类共同拥有的成员,而每个派生类定义各自特有的成员。
洁洁
2023/10/10
1970
c++继承 基类 派生类 虚函数
类和类的关系有组合、继承和代理。继承的本质就是代码复用。子类继承父类中的一些东西,父类也称为基类,子类也称为派生类。派生类继承了基类除构造函数以外的所有成员。
用户7886150
2021/02/03
1.1K0
C++中派生类对基类成员的访问形式
C++中派生类对基类成员的访问形式主要有以下两种: 1、内部访问:由派生类中新增成员对基类继承来的成员的访问。 2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则。 1、私有继承的访问规则 当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问。基类的private成员在私有派生类中是不可直接访问的
猿人谷
2018/01/17
2.4K0
Java类如何防止被实例化
有一些类不想被实例化, 比如静态方法的工具类, 这时要对类进行特殊处理 其中有两点需要注意: 防止通过new实例化 - 解决办法:使用 private 修饰符进行限制 防止通过反射实例化 - 解决办法:抛出 Error 进行限制(如果不抛出异常, 只通过private进行限制, 则通过反射依然能被实例化) 代码如下: // 不可实例化工具类 public final class MyUtils { private MyUtils() { throw new AssertionErro
夹胡碰
2020/08/14
1.8K0
基类View
在 Class-based views 源码解析 #1 中我们从宏观层面讨论了 Django 类视图的类继承结构以及命名规律。接下来我们要深入各个具体的类视图,探索其具体的代码实现。本节将分析 base.py 中最重要的的一个类,它也是所有类视图的基类 View 。 之前我们说过,尽管类视图看上去类的种类繁多,但每个类都是各司其职的,且从类的命名就可以很容易地看出这个类的功能。大致可分为如下三个大的功能块,分别由三个类提供对应的方法: 处理 HTTP 请求。根据 HTTP 请求方法的不同做出相应处理。例如同
追梦人物
2018/04/17
9110
基类和派生类
  在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。-百度百科
全栈程序员站长
2022/09/20
1K0
BaseMongo基类设计
为进一步完善框架应用,本次系列文章主要是介绍如何完善架构功能,以及如何应用架构做一些具体的应用开发。本系列课程可以在github上找到相应资源,具体每篇文章中都会提供链接。 本次介绍的主要是mongo基类的设计,以及应用。相关请查看文章下面链接下载http://5xpan.com/fs/7hueanfgd6h350fe4/(下载链接有收益,请原谅有广告)。 如果你嫌弃慢的话,也可以直接去github(https://github.com/tnodejs/BaseMongodb) 主要函数结构 私有方法
蛋未明
2018/06/07
1K0
MVC的基类
设计一个验证用户身份是否登陆的基类BaseController /// <summary> /// 所有需要进行登录控制的控制器基类 /// </summary> public class BaseController : Controller { /// <summary> /// 当前登录的用户属性 /// </summary> public UserInfo CurrentUserInfo { get;
欢醉
2018/01/22
7840
Thinkphp的公共函数和类有什么区别?
比如我要写一个用户验证(CheckUser),我可以写在Common的function.php中,也可以写在Model里的CheckUserModel.class.php里。他们有什么区别? func
PM吃瓜
2019/08/13
1K0
Azure App Service 如何防止staging环境被匿名访问
我们经常使用Azure App Service里的slot来创建staging等测试环境,但它们也都暴露在互联网上,只要知道URL的人就能访问。本文就来教大家如何做到只允许内部人员访问测试地址。
Edi Wang
2019/07/09
9000
Azure App Service 如何防止staging环境被匿名访问
python抽象基类abc
python中并没有提供抽象类与抽象方法,但是提供了内置模块abc(abstract base class)来模拟实现抽象类。
用户2936342
2018/08/27
8380
okhttp-公共类
http://blog.csdn.net/lmj623565791/article/details/47911083 参照了鸿洋_大神的代码重写了自己需要的方法
tea9
2022/07/16
2440
如何加载第三方类库/项目类库/基类库?
如果你的类库没有使用命名空间定义的话,实例化的时候需要加上根命名空间,官方文档原话
PM吃瓜
2019/08/13
1.3K0
python 抽象基类 abstractmethod
class IStream(metaclass=ABCMeta): @abstractmethod def read(self, maxbytes=-1): pass
用户5760343
2019/12/13
7690
python的抽象基类
与jvm上的语言不一样,python的语言没有interface关键字,而且除了抽象基类,每个类都有相应的接口:类实现或继承的公开属性(方法或数据类型)
哒呵呵
2018/08/06
8980
C++虚基类
如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。C++提供虚基类的方法,使得在继承间接共同基类时只保留一份成员。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1.1K0
C++虚基类
c++-基类与派生类
友元函数必须在类中进行声明而在类外定义,声明时须在函数返回类型前面加上关键字friend。友元函数虽不是类的成员函数,但它可以访问类中的私有和保护类型数据成员。
kdyonly
2023/03/03
3930
nodejs流基类源码分析
流的基类只提供了一个函数就是pipe。用于实现管道化。这个方法代码比较多,分开说。
theanarkh
2020/07/22
6170
EasyC++81,抽象基类
我们之前说过,在我们实现继承的时候,需要保证派生类和基类之间是一种is-a的关系。在大多数时刻,这样的关系是没有问题的,然而在一些特殊的情况可能会遇到问题。
TechFlow-承志
2022/08/26
3130
C++核心准则​讨论:将基类的析构函数设为公共和虚拟的,或受保护的和非虚拟的
Discussion: Make base class destructors public and virtual, or protected and non-virtual 讨论:将基类的析构函数
面向对象思考
2020/12/15
1.1K0

相似问题

如何访问基类的公共数据成员?

31

防止用作私有基类的类的公共用途

31

从基类访问联合的公共部分

54

重写基类的虚函数,基类不共享公共接口

20

C++装饰器:从外部访问基类的公共函数

116
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文