最近,我一直在尝试使用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行,它说“未解析的引用:文本”
1条答案
按热度按时间ikfrs5lh1#
你试图实现的方法是不可能的,因为数组不是这样工作的。
我会建议你看看viewBinding,这是一个非常容易和快速的方式来访问活动类中的视图。
在此之后,您将可以简单地像下面这样做