我在循环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);
}
感谢您的帮助和时间!
答案 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
的引用,以便您以后可以在创建它们之后与它们进行交互。否则你将无法看到这些物体。