如何检查TextView是否存在

时间:2011-08-25 12:16:17

标签: android user-interface textview

我在循环5 TextViews上创建了一些文本并将它们添加到LinearLayout。 之后,我需要更改其中的文本。我想删除所有这些并再次在循环上创建新的。但在TextView删除之前,我必须确保它存在。怎么做?

for(int i=0; i<5; i++){
   TextView tv = new TextView(context);
   LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
   tv.setLayoutParams(params);
   tv.setId(i);
   tv.setText("some data");
   ll.addView(tv);
}

感谢您的帮助和时间!

3 个答案:

答案 0 :(得分:4)

如果要删除所有这些内容,请执行ll.removeAllViews()

答案 1 :(得分:1)

如果要删除它们,您应该保留对您创建的每个文本视图的引用。 如果我正确理解你的问题,只需创建一个包含5个元素的TextViews数组,然后运行循环就可以用它们做你想做的事情。 要“删除”它们,您可以致电:

tv[i].setVisibility(View.GONE);

更改文字并重新添加:

tv[i].setText("New Text");
tv[i].setVisibility(View.VISIBLE);

答案 2 :(得分:1)

更好的解决方案是在列表中保留对TextViews的引用,以便您以后可以在创建它们之后与它们进行交互。否则你将无法看到这些物体。