我的片段中有大约20个TextView。
我想在所有“按视图”按钮中将文本设置为空或默认状态。
简单的方法是什么?
当前,我在View上使用setText / text并放置了空字符串,但是对于20 TextView来说,它是20行...太多了。
是否存在用于清除Fragment中的视图的所有状态或返回到默认状态的方法?
myTextView1.text = ""
myTextView2.text = ""
myTextView3.text = ""
myTextView4.text = ""
myTextView5.text = ""
还有更多
答案 0 :(得分:1)
您可以使用以下方法来获取父视图中的所有textView:
root.children.forEach {
if (it is TextView){
it.text = ""
}
}
其中root
是所有textView的容器ID
答案 1 :(得分:0)
在您的活动中声明:
var textViews: ArrayList<TextView> = arrayListOf()
和onCreate()中:
for (i in 1..20) {
textViews.add(findViewById<TextView>(resources.getIdentifier("myTextView" + i, "id", this.getPackageName())))
}
要清除它们时:
textViews.forEach { it.text = "" }