ListView選中條目,其餘條目也被同時選中的問題

假如ListView,分紅2頁(或者設置數據能夠縱向拉,可隱藏),每頁3條數據,每一個Listview的Item 裏面有個checkBox,如今,當我選擇第一頁的前兩天數據,翻到第二頁,居然第二頁後兩條數據也選中了ide

HashMap<Integer,View> lmap = new HashMap<Integer,View>();
    @Override
    public View getView(final int i, View convertview, ViewGroup viewGroup) {
        View view;
        ViewHolder viewHolder = null;
        if (lmap.get(i) == null){
            view = View.inflate(context, R.layout.add_learn_listview_layout, null);
            viewHolder = new ViewHolder();
            viewHolder.add_learn_list_chebox= (CheckBox)view.findViewById(R.id.add_learn_list_chebox);
            final int p = i;
            lmap.put(i, view);
            view.setTag(viewHolder);
        }else {
            view = lmap.get(i);
            viewHolder = (ViewHolder) view.getTag();
        }

        return view;
    }

定義了一個HashMap<Integer,View> lmap,在getView()方法中,使用lmap.put(position, view)把每一個view和position一一對應起來,對於已經創建的view,使用view = lmap.get(position)來取,這樣既能夠保存改變的狀態,又不會重複。get

相關文章
相關標籤/搜索