2014-12-09 6 views
0

Мой getView вызывается несколько раз. Я устанавливаю fill_parent width и fill_parent height listview, но это не работает. Смотрите код адаптера:Адаптер getView вызывается несколько раз

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


Моего адаптера рисование неверного числа элементов ListView, и это проблема

enter image description here

+0

Это довольно нормальное поведение ... – WarrenFaith

+0

@WarrenFaith, но размер моего списка - 3.Почему мне нужна еще одна позиция? – olle

+0

дубликат http://stackoverflow.com/questions/2618272/custom-listview-adapter-getview-method-being-called-multiple-times-and-in-no-co – CSmith

ответ

2

Конечно, это будет. Метод getView в адаптере вызывается для каждой строки в Списке, которая видна на экране, поэтому она, очевидно, будет вызываться несколько раз.

Смежные вопросы