如何动态更改多个TextView中的文本? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何动态更改多个TextView中的文本? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我需要使用for循环设置布局中已存在的一些textView的文本。例如。 TextView_01,TextView_02等。有没有办法做类似下面的推测代码:
for(1 in 0..6){
TextView_0(change value with i).text = something
}
答案
这不是最好的做事方式,但它可能是最普遍的,同时避免创建预定义的TextView数组:
val base = "TextView_0"
for (i in 1 until 6) {
val textView = findViewById(resources.getIdentifier("${base}i", "id", packageName)
textView.text = something
}
我改变了你的for循环,因为你的语法错误了。我也用..
取代了until
,因为..
意味着通过右边界,这可能不是你想要的。如果你确实需要6
作为i
的值,那么将它改回..
。
如果所有TextView都在XML中的单个父项下,请为该父项提供ID,然后遍历其子项:
val parent = findViewById(R.id.tvParent)
for (i in 0 until parent.getChildCount()) {
(container.getChildAt(i) as TextView).text = something
}
另一答案
您可以使用父容器
for (i in 0 until container.childCount) {
(container.getChildAt(i) as TextView).text = something
}
另一答案
更好的方法是使用DataBinding和LiveData API,您可以为TextViews的文本属性分配不同的变量或相同的变量。
以上是关于如何动态更改多个TextView中的文本? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android TextView中的下划线和更改文本颜色[重复]
如何通过动态应用主题来更改textview,按钮,编辑文本的角落形状?