Android 选择图片数字顺序标识

效果

最多选择6张

借鉴 https://blog.csdn.net/lizubing1992/article/details/80453893
还有一个简书的大佬不过你把那一篇删了(找不到你了)

  /*
     * @param position 接口回调之前原数组的下标
     * @param delete 是否可以删除
     * @param content 内容
     * @param picCount 现在数组下标的长度
     * */

    @Override
    public void listener(int position, boolean delete, String content, int picCount) { //从Adapter中回调过来的接口
        if (!delete) { //表示选中
            maxIndex += 1;
            mList.get(position).setShow(true); //显示
            mList.get(position).setUploadIndex(picCount); //这里可以填为maxIndex
            mChooseList.add(content); //添加内容到当前Activity的list中
        } else { //表示当前被反选
            mList.get(position).setShow(false); //取消

            deleteListPosition(content); //删除当前Activity中的list元素

            //核心代码如下

            int currentIndex; //声明变量(当前选中的数字)
            currentIndex = mList.get(position).getUploadIndex(); //赋值

            if (currentIndex < maxIndex) { //这里表示如果不是按照顺序去反选的话(例如 1 2 3 不是按照 3 2 1这样去反选) 需要去让数字发生改变
                for (int i = 0; i < mList.size(); i++) {  //遍历集合
                    int index = mList.get(i).getUploadIndex(); //获得每个元素的数字
                    if (index != 0 && index > currentIndex) { //如果当前元素中的数字小于点击元素的数字 则需要这些元素自减(例如 1 2 3 我点击了2  1不用变化 而3需要自减)
                        index -= 1;
                        mList.get(i).setUploadIndex(index);
                    }
                }
            }
            mList.get(position).setUploadIndex(0); //置为0
            maxIndex -= 1;

        }

             /*----------------------下面是常规操作----------------------*/

        mChecked.setText("已选" + mChooseList.size() + "/6");
        noChoose.setVisibility(mChooseList.size() > 0 ? View.GONE : View.VISIBLE);
        llChoose.setVisibility(mChooseList.size() > 0 ? View.VISIBLE : View.GONE);
        if (mChooseList.size() == 0) {
            mChooseList.clear();
        }
        mChooseAdapter.notifyDataSetChanged();
        mAdapter.notifyDataSetChanged();

    }

源码考虑发布到github上 要是需要看的人多的话 (没有就算了)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容