我已经尝试为我的数据创建一个动态listview适配器,我不确切知道我将拥有多少项,所以我创建一个循环创建textviews并将它们添加到水平linearlayout,一切正常,除了大小,似乎无法从适配器中知道列表宽度,所以我尝试将textviews的layoutparams设置为使用权重,但要么它什么都不做,要么一切都消失了。
适配器getView:
LinearLayout m = (LinearLayout) view.findViewById(R.id.grid_lo);
String[] s = filtered[position];
for(String i:s)
{
TableRow.LayoutParams params = new TableRow.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT,1.0f);
TextView tv = new TextView(context);
tv.setText(i);
m.addView(tv,params);
}
这会创建所有的文本视图,但它们都是一个接一个地绘制的。 我尝试过LinearLayout.LayoutParams,但它是一样的。 我可能会尝试其他任何想法吗?
答案 0 :(得分:0)
在第一个写自定义适配器中获取布局参数 然后计算高度:
AccountCustomAdapter Adt = new AccountCustomAdapter(this,account);
ViewGroup.LayoutParams params = accountLV.getLayoutParams();
params.width = LayoutParams.FILL_PARENT;
params.height = Adt.getGroupCount() * 70;