Android: мой цикл дубликатов ListAdapter - PullRequest
0 голосов
/ 10 августа 2011

В моем методе onCreate моей Деятельности:

ListView listView = (ListView) findViewById(R.id.listView);
registerForContextMenu(listView);
listView.setItemsCanFocus(false);
Log.i(TAG, "list.size()" + list.size());
listView.setAdapter(new MyListAdapter(this, list));
listView.setTextFilterEnabled(true);
listView.setClickable(true);

MyListAdapter:

    public class MyListAdapter extends BaseAdapter {

        private static final String TAG = "MyListAdapter";
        private Activity context;

protected LayoutInflater mInflater;
    protected List<?> itemList;

        public MyListAdapter(Activity context, List<Event> list) {
            mInflater = LayoutInflater.from(context);
        this.context = context;
        itemList = list;
        }

        public View getView(int position, View convertView, ViewGroup parent) {

    //DO Operations...

            Event item = (Event)(itemList.get(position));
            Log.i(TAG, "item.getName(): " + item.getName());


            return convertView;
        }


        public int getCount() {
        return itemList.size();
    }

    public Object getItem(int position) {
        return itemList.get(position);
    }

    public long getItemId(int position) {
        return position;
    }

    }

Если у меня есть 2 элемента в списке (A и B), у меня будет этот результатв logcat:

item.getName(): A
item.getName(): B
item.getName(): A
item.getName(): B
item.getName(): A
item.getName(): B

однако элементы корректно отображаются в listView без дублирования.Почему это так?

1 Ответ

0 голосов
/ 10 августа 2011

Вам необходимо создать представление, если convertView имеет значение null (в getView ()). Кроме этого, я бы не беспокоился об этом.

...