【发布时间】:2014-12-09 15:05:46
【问题描述】:
我的 getView 被多次调用。我设置了listview的fill_parent宽度和fill_parent高度,但它不起作用。 见适配器代码:
public class CustomAdapter extends BaseAdapter implements OnCheckedChangeListener {
private Context ctx;
public ArrayList<Objects> listToSend;
private ViewHolder holder;
private TextView tv;
private LayoutInflater mInflater;
public AdapterOrderType(Context context, ArrayList<Objects> list) {
this.ctx = context;
this.listToSend = list;
mInflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return listToSend.size();
}
@Override
public Object getItem(int position) {
return listToSend.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
static class ViewHolder {
private TextView tv;
private LinearLayout ll;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Object object = objects.get(position);
ViewHolder holder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_objects, null);
holder = new ViewHolder();
holder.tv = (TextView)convertView.findViewById(R.id.objname);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
Log.e("called times: ",String.valueOf(position));
return convertView;
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// }
}
我的日志:
调用次数:0
调用次数:1
调用次数:2
调用次数:0
我的适配器绘制的列表视图项目数量错误,这是个问题
【问题讨论】:
-
这是很正常的行为...
-
@WarrenFaith 但我的名单大小是 3。为什么我又需要另一个职位?
-
解决方案是listview的fill_parent。它不适合我。