Android:向线性布局动态添加多个视图
我在这里检查了解决方案: 因此,每次添加视图时都要创建一个新视图,而不是只更改一个视图 但我正在这样做:Android:向线性布局动态添加多个视图,android,textview,Android,Textview,我在这里检查了解决方案: 因此,每次添加视图时都要创建一个新视图,而不是只更改一个视图 但我正在这样做: for (int i = 0; i < 10; i++) { LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService( CommentsActivity.LAYOUT_INFLATER_SERVICE); View cv = vi.inflat
for (int i = 0; i < 10; i++) {
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(
CommentsActivity.LAYOUT_INFLATER_SERVICE);
View cv = vi.inflate(R.layout.item, null);
TextView textView1 = (TextView) cv.findViewById(R.id.tv1);
textView1.setText("-" + i);
TextView textView2 = (TextView) cv.findViewById(R.id.tv2);
textView2.setText("--" + i);
LinearLayout insertPoint = (LinearLayout) findViewById(R.id.layout);
insertPoint.addView(cv, 0, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
}
for(int i=0;i<10;i++){
LayoutFlater vi=(LayoutFlater)getApplicationContext().getSystemService(
评论活动、布局、充气机和服务);
视图cv=vi.充气(R.布局.项目,空);
TextView textView1=(TextView)cv.findViewById(R.id.tv1);
textView1.setText(“-”+i);
TextView textView2=(TextView)cv.findViewById(R.id.tv2);
textView2.setText(“--”+i);
LinearLayout insertPoint=(LinearLayout)findViewById(R.id.layout);
insertPoint.addView(cv,0,新ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_父级,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
因此,这就像为每个i创建一个新的充气机和视图。但我只拿到最后一件
即,只有一个充气视图,tv1为-9,tv2为-9
似乎每次我进入for循环时,旧视图都会被新视图替换。如何添加所有10个视图
谢谢你通常我用这个
private void renewDetail(){
llDetail.removeAllViews();
for (int i = 0; i < 10; i++) {
llDetail.addView(new ChildDetailNotePieDiagram(context, "Name", 1000, 10));
}
}
private void renderdetail(){
llDetail.removeallview();
对于(int i=0;i<10;i++){
addView(新的ChildDetailNotePieCramap(上下文,“名称”,1000,10));
}
}
逻辑是首先清除父布局中的所有视图,然后将视图添加到父布局
其中llDetail是一个线性布局,我创建了一个线性布局类ChildDetailNotePieDiagram,并将其添加到线性布局中,因此基本上它是一个不同于您现在使用的解决方案
但我认为,如果您愿意,可以尝试我的解决方案:)
请在注释中随意询问有关此问题的任何问题,以便在添加视图之前在for循环中使用此选项:((ViewGroup)cv.getParent()).removeView(cv);??您必须设置布局参数并向其添加规则…:)