在 if 语句中使用数组值而不是 checkbox_id
Posted
技术标签:
【中文标题】在 if 语句中使用数组值而不是 checkbox_id【英文标题】:using Array value instead of checkbox_id in if statement 【发布时间】:2020-09-25 14:52:07 【问题描述】:我有一个带有 id 的复选框:Pencilbox
。现在我有一个数组,其中第一列包含对象的名称,名称等于它们的复选框 id,第二列是它们的价格。所以
数组:
Pencil 5
Pen 6
Notebook 10
现在我想找到用户想要的对象的价格。所以通常我必须使用:
if (Pencilbix.ischecked) ...
但是现在,我想使用数组的第一列(因为字符串等于复选框 id)而不是复选框 id,或者:
if (Array[0][0].toString.ischecked) ...
但这是错误的。 任何想法?
【问题讨论】:
【参考方案1】:使用findViewById()
方法通过id获取视图并检查其状态:
val array = arrayOf(arrayOf(R.id.Pencilbox, 5), arrayOf(R.id.Penbox, 6), arrayOf(R.id.Notebookbox, 10))
// in Activity
if (findViewById<CheckBox>(array[0][0]).isChecked) ...
// in Fragment
if (view?.findViewById<CheckBox>(array[0][0])?.isChecked == true) ...
【讨论】:
如果我必须从 csv 文件中读取数组怎么办?实际上,我的数组是一个有 9 列的大数据集。 另外,当我使用你的方法时,我得到了错误:array[0][0] should be in Int 如果您使用 android,请在您的问题中添加适当的标签。 你得到错误 bczfindViewById()
方法只接受 Int
参数。
非常感谢。纠正我问题的人,删除了android对应的信息。我告诉过我正在使用 android、kotlin、以上是关于在 if 语句中使用数组值而不是 checkbox_id的主要内容,如果未能解决你的问题,请参考以下文章