Android 在水平滚动视图中删除图像,同时单击另一个列表视图中的复选框

Android 在水平滚动视图中删除图像,同时单击另一个列表视图中的复选框,android,Android,在这里,我尝试删除水平滚动视图中添加的图像,同时单击另一个列表视图中的复选框check1是复选框的id inHorizontalScrollView是水平滚动视图的id,我在addView()方法上添加了imageview。 删除视图时添加视图不是问题,它只删除最后一个视图 非常感谢 check1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Overrid

在这里,我尝试删除水平滚动视图中添加的图像,同时单击另一个列表视图中的复选框check1是复选框的id inHorizontalScrollView是水平滚动视图的id,我在addView()方法上添加了imageview。 删除视图时添加视图不是问题,它只删除最后一个视图
非常感谢

      check1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //set your object's last status
                m.setSelected(isChecked);
                if (check1.isChecked()) {
                    list.add(m.getid());

                    li = (LayoutInflater) getContext()
                            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    view = li.inflate(R.layout.sample, null);
                    final ImageView i = (ImageView) view.findViewById(R.id.image5);
                    i.setId(Integer.parseInt(m.getid()));

                    viewList.add(view);
                    inHorizontalScrollView.addView(view);


                } else {
                    viewList.remove(view);
                    inHorizontalScrollView.removeView(view);
                    list.remove(m.getid());

                }

            }
        });    

视图始终存储上次创建的视图。您需要将所有膨胀视图存储在某个位置,并从布局中删除具体视图。

这是代码

    else {
                    //Remove user id from list
                    list.remove(m.getid());
                    //Remove image path from list
                    imagelist.remove(m.getThumbnailUrl());
                    //Remove all views from scrollview
                    inHorizontalScrollView.removeAllViews();
                    for (int j = 0; j < list.size(); j++)
                    {
                        li = (LayoutInflater) getContext()
                                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        view = li.inflate(R.layout.sample, null);
                        final ImageView i = (ImageView) view.findViewById(R.id.image5);

                        i.setId(Integer.parseInt(list.get(j)));

                        Glide.with(getContext()).load(imagelist.get(j)).asBitmap().placeholder(R.drawable.profileicon).centerCrop().into(new BitmapImageViewTarget(i) {
                            @Override
                            protected void setResource(Bitmap resource) {
                                RoundedBitmapDrawable circularBitmapDrawable =
                                        RoundedBitmapDrawableFactory.create(view.getContext().getResources(), resource);
                                circularBitmapDrawable.setCircular(true);
                                i.setImageDrawable(circularBitmapDrawable);
                            }
                        });
                        //add stored views from list and imagelist
                        inHorizontalScrollView.addView(view);
                    }
else{
//从列表中删除用户id
list.remove(m.getid());
//从列表中删除图像路径
remove(m.getThumbnailUrl());
//从scrollview中删除所有视图
InHorizontalCrollView.removeAllViews();
对于(int j=0;j
谢谢@grig的回复……需要一个示例程序或参考资料吗?您能解释一下这方面的细节吗……再次感谢您。。