gpt4 book ai didi

Android RadioGroup/RadioButton 选择 - Android API 16/17 中的不同 - 无法选择 Radiobutton

转载 作者:行者123 更新时间:2023-11-30 00:33:11 27 4
gpt4 key购买 nike

我正在尝试设置对单选组中第一个单选按钮的选择。在深入探讨这个问题之前,我需要指出问题仅发生在 API <= 16 中。当在模拟器或真实设备中运行 API 17 或更高版本时,一切正常。

它应该做什么

RadioButton 变量“first”应该指向在代码前面创建的第一个 RadioButton。然后应将此 RadioButton 设置为已选中。如前所述,该代码在 API 17 及更高版本上运行良好(我已经看到 API 16 的其他问题,主要与绘图和填充相关,但与此无关),这就是我如此困惑的原因。逻辑必须没问题,否则根本行不通?但是您可以在日志中看到,在每个 API 上运行的“first”中保存了不同的值。

如果需要,我很乐意发布更多详细信息/日志等。

代码

//Set the default selection
levelChoices.check(first.getId());
Log.d(TAG, "Which is first: " + first);
Log.d(TAG, "Which is checked: " + levelChoices.getCheckedRadioButtonId());

API 17 或更高版本的日志

Which is first:  android.widget.RadioButton{61c63b2 VFED..C.. ......I. 0,0-
0,0 #1}
Which is checked: 1
//Everything works fine, radio button is selected

API 16 或更低版本的日志

Which is first:  android.widget.RadioButton@a7886a50
Which is checked: -1484232112
//No radio button is selected

最佳答案

看起来,对于较旧的 Android 版本,每个动态创建的 RadioButton 都必须使用 setId 为其指定一个 ID。我不需要对此做任何事情,但是把它放在那里意味着 RadioButton 的设置正确,我测试过,现在一切都在旧的 API 中工作。

我的问题似乎是 RadioGroup 的 RadioButton 没有被正确添加,但如前所述,这只发生在 API 17 之前。

这里有一个类似的问题,建议的解决方案相同:

NullPointerException in RadioGroup.setOnCheckedChangeListener in APIS 15 & 16

关于Android RadioGroup/RadioButton 选择 - Android API 16/17 中的不同 - 无法选择 Radiobutton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43909914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com