清除片段中的所有TextView

时间:2018-07-23 22:15:32

标签: android kotlin

我的片段中有大约20个TextView。

我想在所有“按视图”按钮中将文本设置为空或默认状态

简单的方法是什么?

当前,我在View上使用setText / text并放置了空字符串,但是对于20 TextView来说,它是20行...太多了。

是否存在用于清除Fragment中的视图的所有状态或返回到默认状态的方法?

myTextView1.text = ""
myTextView2.text = ""
myTextView3.text = ""
myTextView4.text = ""
myTextView5.text = ""

还有更多

2 个答案:

答案 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 = "" }