Intereting Posts
Пример кинжала, построенный через eclipse, не выполняется: «Пожалуйста, убедитесь, что для этого модуля была запущена генерация кода». Аутентификация SSL-клиента с сертификатом на Android Как скомпилировать код C ++ 14 для Android? Организация кнопок в форме бриллианта в android xml Есть ли низкоуровневый API для Wi-Fi? Получить последнее вставленное значение из базы данных sqlite Android База данных Android – не может выполнять эту операцию, поскольку пул соединений был закрыт Кнопки управления внутри уведомлений об андроидах Android / bitmap.h: Нет такого файла или каталога (после обновления инструментов Android SDK до версии 14) Что такое getGlobalVisibleRect ()? PublishProgress не вызывает onProgressUpdate Сильная ссылка Android Проблемы с бета-тестированием и публикацией в Google Play Android expandablelistview, как установить пространство между элементами групп Как создать экземпляр класса фрагмента с использованием имени класса вместо индекса

Пользовательский адаптер 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; }