【发布时间】:2016-01-19 12:53:18
【问题描述】:
我想创建一个Listview,它将水平容纳1到'n'个TextView数据,这个Textview数据和宽度大小将来自DB?
不知道怎么用holder动态设置TextView的宽度?
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
ViewHolder holder = new ViewHolder();
if (view == null) {
view = View.inflate(cntxts, R.layout.list_header_col, null);
String [] ColNmae= (String[]) objects.get(0);
int Width= Integer.parseInt(ColNmae[2].toString());
LinearLayout layout=new LinearLayout(cntxts);
// layout.setLayoutParams(new LinearLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
TextView Textview = new TextView(cntxts);
HorizontalScrollView hr = new HorizontalScrollView(cntxts);
for(int i=0;i<objects.size();i++) {
holder.Textview=new TextView(cntxts);
layout.setLayoutParams(new RelativeLayout.LayoutParams(Width,80));
layout.addView(holder.Textview);
}
hr.addView(layout);
view = hr;
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
notifyDataSetChanged();
final String[] objMain = (String[]) getItem(position);
holder.Textview.setText(objMain[0]);
return view;
}
【问题讨论】:
-
您将不得不使用适配器作为列表。它的基本Android101。看看:stackoverflow.com/questions/16333754/…
-
我正在使用适配器,我想在 Listview Row 中作为 ....Col1、Col2、Col3、Col4 ......并且它的数据在下面的行中。