">
tl;dr:当用户单击一个无关的文本视图时,我希望选择一个带有纹章动画的单选按钮。performClick不会这么做的。我该怎么做呢?
我有一个单选按钮,上面有标签和更长的描述。
我的布局的总体结构如下:
<RadioGroup>
<RadioButton
id="@+id/officialBusinessRadio"
text="Official business" />
<TextView
id="@+id/officialBusinessCaption"
text="This operates under a ..." />
<!-- ... -->
</RadioGroup>
我在文本视图中添加了一个OnClickListener,这样点击标题就可以选择单选按钮:
officialBusinessCaption.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
officialBusinessRadio.performClick();
}
});
当我点击单选按钮本身或它自己的文本(“正式事务”),单选按钮动画到选定的,并出现涟漪墨水效果。当我在标题文本(和performClick被调用)顶部时,单选按钮仍然是被选中的,但不会产生连锁反应。
有更正确的方法来获得这种效果吗?也就是说,是否有更好的方法将单击标题文本视图转发到单选按钮?如果没有,是否有一种直接的方式以编程方式触发单选按钮上的连锁反应?
出于以下原因,我倾向于不使用字符串资源设置所有文本:
发布于 2018-11-26 03:49:05
我在一个RadioButton
中使用了人口RecyclerView
来解决这个问题。所有这些选项都设置为isClickable = false
,因为我根据另一条规则重写了它们的选择,但是将选择触发到true
的方法如下:
Kotlin:
radioButton.post {
radioButton.isChecked = true
}
Java:
radioButton.post(new Runnable() {
@Override
public void run() {
radioButton.setChecked(true);
}
})
在此之前,我只做setChecked(true)
,这是行不通的。
https://stackoverflow.com/questions/38135019
复制