Я пытаюсь создать ListView, который будет заполнен записями из массива.
Итак, это мой макет элемента:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="60dip" >
<ImageView android:id="@+id/list_item_image"
android:layout_height="wrap_content"
android:padding="2dip"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="50dip"/>
<TextView android:id="@+id/list_item"
android:layout_height="fill_parent"
android:textSize="25sp"
android:layout_width="fill_parent"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:padding="5dip" >
</TextView>
</LinearLayout>
Я попытался изменить layout_height
на LinearLayout
, но столкнулся с некоторыми проблемами. Если я сохраняю высоту wrap_content
, мой список отображается с правильными записями — пункт 1, пункт 2, пункт 3 и так далее до пункта 12. Однако, если я изменю высоту на 60dip
, записи повторяются после шестой записи (Я получаю пункт 1, пункт 2, пункт 3, пункт 4, пункт 5, пункт 6, пункт 1, пункт 2, пункт 3...). Если я продолжу увеличивать его, записи будут повторяться чаще.
Это фрагмент из ListAdapter
, где я установил элементы списка:
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout layout;
if (convertView == null){
layout = (LinearLayout) LayoutInflater.from(mContext).inflate(R.layout.items_list_item, parent, false);
TextView title = (TextView) layout.findViewById(R.id.list_item);
title.setText(menuItems[position]);
ImageView icon = (ImageView) layout.findViewById(R.id.list_item_image);
int logo = getResources().getIdentifier(menuIcons[position], "drawable", getPackageName());
icon.setImageResource(logo);
} else {
layout = (LinearLayout) convertView;
}
return layout;
}
Кто-нибудь еще сталкивался с этой проблемой? Я не понимаю, что происходит, так как я думал, что это должен быть прямой захват из массива.
РЕДАКТИРОВАТЬ: включен весь мой метод getView(). Простите за некрасивый способ получения иконок, я еще не разобрался,