将子视图(LinearLayout)按比例顺序添加到android中的LinearLayout
我是android开发新手,我想通过编程将LinearLayout视图添加到父LinearLayout。在这样做的同时,我希望按顺序看到它们。也就是说,首先添加的视图应该是第一个,其次添加的视图应该是第二个,依此类推。 我试着和你一起做将子视图(LinearLayout)按比例顺序添加到android中的LinearLayout,android,android-linearlayout,Android,Android Linearlayout,我是android开发新手,我想通过编程将LinearLayout视图添加到父LinearLayout。在这样做的同时,我希望按顺序看到它们。也就是说,首先添加的视图应该是第一个,其次添加的视图应该是第二个,依此类推。 我试着和你一起做 HolderLayout.addView(view, index) 索引继续递增,但对我来说不起作用。我首先添加的视图显示在列表的第二个视图中。我该怎么办? 我的代码大纲是: int index = 0; View Row1 = Vie
HolderLayout.addView(view, index)
索引继续递增,但对我来说不起作用。我首先添加的视图显示在列表的第二个视图中。我该怎么办?
我的代码大纲是:
int index = 0;
View Row1 = View.inflate(this, R.layout.childView, null);
//populate the appropriate data on the child Row and add it to the holder layout.
holder_layout.addView(Row1 , index);
index++;
Set<Integer>keys = MyMap.keySet();
for(int i : keys){
View row = View.inflate(this,
R.layout.childView, null);
holder_layout.addView(row , index);
index++;
}
int索引=0;
视图行1=视图。充气(此,R.layout.childView,null);
//填充子行上的相应数据,并将其添加到支架布局中。
holder_layout.addView(第1行,索引);
索引++;
Setkeys=MyMap.keySet();
用于(int i:键){
视图行=视图。充气(此,
R.layout.childView,空);
holder_layout.addView(行、索引);
索引++;
}
我哪里出错了。请执行以下操作:
holder_layout.addView(row , new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
我认为您不必指定索引,因为默认行为是根据需要添加上面的内容如果没有其他内容,可能会影响此代码的内容在循环结束时递增
索引
Row1
将添加到位置0,然后循环的第一次迭代将把第一行也分配给索引0。
我猜这会做什么,就是在行1
之前添加行
,并相应地更新索引;因此,在循环的第二次迭代中,它使用index=1
,将其放在Row1
之前,依此类推,直到最终结果看起来像ViewGroup{row[0],row[1],row[2]…row[n]Row1}
鉴于您声称看到的就是这种行为,我敢说这是您的代码的真正问题。尽管如前所述,您可能应该使用不带索引的addChild(View)
,依靠默认行为将其添加到末尾。不幸的是,没有具体说明这一点,但我刚刚测试了它,并确认它就是这样工作的。定义不工作。什么不起作用?实际发生了什么?我在for循环之外添加的行是我得到的最后一项,实际上它应该是第一项?正确的?当我在索引=0处添加它时?如果您使用垂直方向的线性布局,它将自动按顺序添加新视图是的,线性布局是垂直的,它不会按顺序添加!