Android Studio 在单个命令中将TextView数组转换为字符串

9nvpjoqh  于 2023-10-23  发布在  Android
关注(0)|答案(1)|浏览(165)

最近,我一直在尝试使用Kotlin在Android Studio中制作一个简单的计算器程序。该程序使用两个输入(a,B)并给出四个输出(p=a*B,q=a/B,r=a+B,s=a-B)。
输出是TextViews,id为out 1、out 2、out 3、out 4,它们作为一个名为res的数组一起读取,见第1行。进行简单的计算,并将结果(p,q,r,s)分配给res,参见第2,3,4,5行。

// Line1:
val res = arrayOf(findViewById<TextView>(R.id.out1), findViewById<TextView>(R.id.out2)     findViewById<TextView>(R.id.out3), findViewById<TextView>(R.id.out4))

// Lines 2, 3, 4, 5:
res[0].text = String.format("%.2f", p)
res[1].text = String.format("%.2f", q)
res[2].text = String.format("%.2f", r)
res[3].text = String.format("%.2f", s)

有没有更简单的方法来写这些行?比如说,

// Line6:
val res = arrayOf(findViewById<TextView>(R.id.[out1, out2, out3, out4]))

// Line7:
res.text = String.format("%.2f", [p, q, r, s])

我尝试了更简单的方法,即。第6行和第7行,但它抛出了一个错误。对于第6行,它说“表达式不能是选择器(出现在点之后)”对于第7行,它说“未解析的引用:文本”

ikfrs5lh

ikfrs5lh1#

你试图实现的方法是不可能的,因为数组不是这样工作的。
我会建议你看看viewBinding,这是一个非常容易和快速的方式来访问活动类中的视图。
在此之后,您将可以简单地像下面这样做

binding.out1.text = "Your text 1"
binding.out2.text = "Your text 2"

相关问题