单击以前单击的gridview项取消选中新项

时间:2017-11-23 11:15:08

标签: android gridview clicklistener

我正在使用自定义BaseAdapter在gridview中使用复选框和textview来扩充布局。

public View getView(final int i, View view, ViewGroup viewGroup) {

    if(view==null){
        view = inflater.inflate(R.layout.view_font_grid_details,null);
    }

    final TextView tvFontName = (TextView) view.findViewById(R.id.tv_font_detail_name);
    final CheckBox ivFontName = (CheckBox) view.findViewById(R.id.checkedImage);


    if(!isColor) {

        Log.d("fontNames"," "+fonts[i]);
        FontUtil.setDrawpTypeFace_(fonts[i],tvFontName);

        tvFontName.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ivFontName.setVisibility(View.VISIBLE);
                ivFontName.setChecked(true);
                listener.fontSet(fonts[i]);
            }
        });

    }
}

在每个项目的单击侦听器中,单击时,我使复选框变为可见并选中(复选框,如果在XML声明中默认定义为不可见)。当我点击不同的项目时,我需要做什么,我需要取消选中之前检查过的项目。有没有办法知道以前点击了哪个子视图?

1 个答案:

答案 0 :(得分:0)

第1步将点击的商品ID /位置存储在列表/数组中。

第2步当点击任何项目时,只需在列表中循环并将其标记为取消选中。

第3步调用NotifydatasetChanged或notifyItemRangeChanged。