[英]How to set TextView width for n number of TextView in a row dynamically of ListView in android?
我想創建一個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;
}
您的數據需要來自某個地方。 要實現Spinner,您可以使用以下選項:
嘗試這個,
yourholder.textView.getLayoutParams().width = dynamic width value;
Thanks for your help I have got the solution.
try {
LayoutInflater mInflater = (LayoutInflater)
cntxts.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = mInflater.inflate(R.layout.list_header_col, null);
holder.layoutmain = (LinearLayout) view.findViewById(R.id.lyt_header);
view.setTag(holder);
String[] ColNmae = (String[]) objects.get(0);
int Width = Integer.parseInt(ColNmae[2].toString());
if (holder.layoutmain != null && holder.layoutmain.getChildCount() > 0)
holder.layoutmain.removeAllViews();
for (int i = 0; i < objects.size(); i++) {
final String[] objMain = (String[]) getItem(i);
TextView textView = new TextView(cntxts);
textView.setText(objMain[0]);
holder.layoutmain.addView(textView);
}
} catch (Exception e) {
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.