Как ни странно, мой CustomBaseAdapter
возвращает неправильную позицию для элемента, который необходимо раздуть, и поэтому адаптер берет неверный вид данных для отображения в строке!BaseAdapter возвращает неправильное положение при вызове метода getView()
Хотя я использую ViewHolder
шаблон, мой ListView layout_height
установлен в match_parent
и каждый возможный путь я нашел, чтобы обеспечить стабильность ListView пунктов, уже реализован, CustomBaseAdapter
, кажется, не реагирует на него.
GetView метод()
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
mItemView = convertView;
if (convertView == null) {
mItemView = mInflater.inflate(R.layout.layout_listview_row, parent, false);
holder = new ViewHolder();
//setting up the Views
mItemView.setTag(holder);
} else {
holder = (ViewHolder) mItemView.getTag();
}
//Getting the item
final MyItem item = getItem(position);
//Doing some checks on my item and then display the appropriate data.
//By saying checks i mean something like:
if(item.getSomething().equals("blabla")){
//Load some pic
}else{
//Load another pic
}
//Now when i have scrolled the list once and return back to top,
//Suddenly in Logcat i am seeing that the first row is getting matched to
//the object in the 4th position, but it doesnt display its data. It displays
//the text from the first item as it was supposed to do. But the relation between
//the first row and the item's position is like 0->4.
}
Другие методы
@Override
public int getCount() {
return this.mObjects.size();
}
@Override
public MyItem getItem(int position) {
return this.mObjects.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
Я буквально искали и пытались все на Google! Кажется, ничего не дало мне решения.
Любая помощь будет оценена! Дайте мне знать, если вам нужна дополнительная часть кода.
взглянуть здесь ... да я знаю, что это 1 час, но стоит ... https://www.youtube.com/watch?v=wDBM6wVEO70 – Selvin
Я уже смотрел его, но не мог понять, что я делаю неправильно! – Pavlos
Да, я исправил это, но давая -1 только потому, что вы догадываетесь, что я могу сделать какую-то глупую проверку, это не так справедливо. В любом случае ... – Pavlos