【问题标题】:Android/Kotlin Material Button checkedId, what is it?Android/Kotlin Material Button checkedId,它是什么?
【发布时间】:2021-06-05 19:44:38
【问题描述】:

想知道是否有人可以告诉我材质按钮的checkedId 到底是什么?文档不是很清楚。例如:

button.addOnButtonCheckedListener { group, checkedId, isChecked -> stuff e.g. Toast}

对于checkedId,我得到一个长整数。例如,我有一个带有 XML ID android:id="@+id/paletteF" 的按钮,当我单击它时,checkedId 返回为 2131362134。我在这里没有看到明显的相关性,如果有的话……是地址吗??

【问题讨论】:

  • 你把那个数字和R.id.paletteF比较了吗?
  • 好的,所以compareValues(R.id.paletteF, indexDiatonic) == 0 返回true(我没想到)。 Int 是字符串“paletteF”的某种数字表示形式吗?

标签: android kotlin material-design


【解决方案1】:

首先,了解 Android 有一个名为 R 的生成类非常有用,其中包含所有 XML 声明资源的标识符。因此,每次在 XML 文件中声明 @+id/newId 时,都会在代表该 ID 的 R 类中创建一个新的静态字段(整数),即 R.id.newID

因此,在回答您的问题时,checkedId 指的是与android:id="@+id/paletteF" 相同的 ID,并且要以编程方式检查它们,您会像这样:

checkedId == R.id.paletteF

顺便说一句,这是对 R 类的过度简化,但如果您有兴趣,这里有大量信息,其中一些在这个论坛上。

【讨论】:

  • 有趣,谢谢,我不知道,但这澄清了很多。我最终使用了您建议的解决方案。
猜你喜欢
  • 2021-06-02
  • 2020-08-15
  • 2020-02-02
  • 2019-10-25
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
相关资源
最近更新 更多