当前位置: 代码迷 >> Android >> listview不同的行展示的列不同
  详细解决方案

listview不同的行展示的列不同

热度:76   发布时间:2016-05-01 13:01:20.0
listview不同的行显示的列不同
list集合中是map,每一个map里面的值的个数不同,有的就让它显示,后面还跟着个button查看详情的,没有的就不显示,这样的数据填充怎么来判断,怎么来填充数据? 能不能给个详细点的例子我看看,不要只说判断啊什么的。我也知道要判断,可是还是不知道该怎么搞、、、、、

------解决方案--------------------
在getView里判断
------解决方案--------------------
private ArrayList<String[]> list = new ArrayList<String[]>();
private String[] info={"test","test","2012-09-02 14:42:13"};
list.add(info);
list.add(info);
list.add(info); list.add(info);
private class myadapter extends BaseAdapter{
private Context c;
private ArrayList<String[]> list;
public myadapter(Context c, ArrayList<String[]> list){
this.c=c;
this.list=list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v = LayoutInflater.from(c).inflate(R.layout.g_groupes, null);

TextView tv1 = (TextView) v.findViewById(R.id.g1 ); 
TextView tv2 = (TextView) v.findViewById(R.id.g2 ); 
TextView tv3 = (TextView) v.findViewById(R.id.g3 ); 
String s1 = list.get(position)[0];
String s2 = list.get(position)[1];
String s3= list.get(position)[2];
tv1.setText(s1);
tv2.setText(s2);
tv3.setText(s3);



return v;
}

}
------解决方案--------------------
找个自定义adapter的例子看看。
  相关解决方案