【问题标题】:Uncheck previously clicked gridview item on click of a new item单击新项目时取消选中先前单击的 gridview 项目
【发布时间】:2017-11-23 11:15:07
【问题描述】:

我正在使用自定义 BaseAdapter 在网格视图中使用复选框和文本视图填充布局。

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 声明中默认定义为不可见,则复选框)。当我点击不同的项目时我需要做什么,我需要取消选中之前选中的项目。有没有办法知道之前点击了哪个子视图?

【问题讨论】:

    标签: android gridview clicklistener


    【解决方案1】:

    第 1 步将点击的项目 id/位置存储在列表/数组中。

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

    第 3 步调用 NotifydatasetChanged 或 notifyItemRangeChanged。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 2011-02-01
      • 2014-06-30
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多