listview滑动后,取消了选中的item

来源:互联网 发布:古建筑建模软件 编辑:程序博客网 时间:2024/06/11 22:26
 protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.addcheck_layout);        lv = (ListView) findViewById(R.id.addchecklist_lv);        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                selectItem(view, position);            }        });    }
 /**     * 选择item     * @param view 按下的视图     * @param position 按下的坐标     */    //选中item坐标    public static List<Integer> selectPosition = new ArrayList<Integer>();    public void selectItem(View view,Integer position){        if (selectPosition.contains(position)) {            selectPosition.remove(position);            adapter.refreshItemSelected(position,lv,false);        }else{            selectPosition.add(position);            adapter.refreshItemSelected(position,lv,true);        }    }

adapter中的代码

 /**     * 更新item选择状态     * @param position 坐标     * @param lv     * @param selected 是否选中     */    public void refreshItemSelected(int position, ListView lv,boolean selected) {        View childAt = lv.getChildAt(position-lv.getFirstVisiblePosition());        if(childAt != null) {            View view = getView(position, childAt, lv);            ViewHolder viewHolder = (ViewHolder) view.getTag();            if (selected) {                viewHolder.selectView.setImageResource(R.drawable.chose_icon);            } else {                viewHolder.selectView.setImageResource(R.drawable.chose_icon_default);            }        }    }
0 0
原创粉丝点击