Пользовательский адаптер getView () не вызывается с использованием библиотеки PullToRefresh

Используя библиотеку PullToRefresh Chris Banes, метод getView () моего пользовательского адаптера не вызывается. Этот код отлично работает, не используя его библиотеку, и вызывается getView (). Я изучаю это уже пару дней и не могу понять, что случилось. Любая обратная связь будет принята с благодарностью!

MyActivity.java

MyAdapter adapter = new MyAdapter(this, data); // the following toast displays the correct count Toast.makeText("MyActivity", adapter.getCount(), Toast.LENGTH_SHORT).show(); myListView.setAdapter(adapter); 

MyAdapter.java

 public class MyAdapter extends ArrayAdapter<Object> { private ArrayList<Object> data; private LayoutInflater vi; private Context context; public MyAdapter(Context context, ArrayList<Object> data) { super(context, 0); this.context = context; this.data = data; this.vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } static class ViewHolder { ... } @Override public int getCount() { return data.size(); } @Override public long getItemId(int position) { return position; } @Override public Object getItem(int position) { return data.get(position); } @Override public View getView(int position, View convertView, ViewGroup parent) { // not getting called ... } } 

Google IO 2013 внес много изменений в ListView для оптимизации результатов. У меня была аналогичная проблема с вашей, моя функция getView () пользовательского адаптера не вызывалась.

Согласно новым изменениям, если вы используете «wrap_content» как layout_height вашего представления, getView () будет вызываться только тогда, когда пользователь прокручивает список. Вместо этого используйте «fill_parent» как layout_height вашего представления. Это решит вашу проблему.

Использование,

 android:layout_height="fill_parent" 

Вместо того, чтобы использовать

 android:layout_height="wrap_content" 

@RTL

Ваш ответ неправильный, я пробовал это, но не смог. Позже я нахожу правильное решение.

Нам не хватало getCount ()

Поэтому мы должны добавить

 @Override public int getCount() { return yourArr.length; }