我在布局中动态添加了多个TextViews
for(int x=4;x<result.length();x++)
{
JSONObject collegeData = result.getJSONObject(x);
Log.i("Classlist",""+x);
TextView tv = new TextView(this);
Animation animation = AnimationUtils.loadAnimation(student_profile.this, android.R.anim.slide_in_left);
tv.startAnimation(animation);
tv.setTag(tag);
tv.setLayoutParams(lparams);
tv.setText(collegeData.getString("date") + " " + collegeData.getString("day_name"));
tv.setTextSize(17);
this.linearLayout_top5classes.addView(tv);
}
此循环根据网址收到的数据添加textViews
,现在我想删除在此循环中创建的文本视图,我无法找到合适的方法来执行此操作....我只想要删除这些文本视图而不是所有文本视图
更新
首先我用了
int prv=0;
然后
String tag ="textView_"+x;
prv++;
在第一个循环中生成多个标签 然后我用
删除它们 for(int x=4;x<prv;x++)
{
View view = this.linearLayout_top5classes.findViewWithTag("textView_"+x);
this.linearLayout_top5classes.removeView(view);
Log.i("prv value",prv+"");
}
答案 0 :(得分:3)
当然有办法。只需使用标记:
查找子视图View view = this.linearLayout_top5classes.findViewWithTag(tag);
this.linearLayout_top5classes.removeView(view);
如果您向子视图添加ID,则:
View view = this.linearLayout_top5classes.findViewById(id);
this.linearLayout_top5classes.removeView(view);
答案 1 :(得分:0)
如果可能,请尝试为动态添加的文本视图使用不同的布局。然后仅从第二个布局中删除视图。使用,:
linearLayout_top5classes.removeAllViews();
答案 2 :(得分:0)
使用dict_changes = json.loads(changes_str)
tag
从特定位置删除视图
View view = this.linearLayout_top5classes.findViewWithTag(tag);
this.linearLayout_top5classes.removeView(view)
使用以下逻辑从布局中删除任何视图。
this.linearLayout_top5classes.removeViewAt(position);