Android 在水平滚动视图中删除图像,同时单击另一个列表视图中的复选框
在这里,我尝试删除水平滚动视图中添加的图像,同时单击另一个列表视图中的复选框check1是复选框的id inHorizontalScrollView是水平滚动视图的id,我在addView()方法上添加了imageview。 删除视图时添加视图不是问题,它只删除最后一个视图Android 在水平滚动视图中删除图像,同时单击另一个列表视图中的复选框,android,Android,在这里,我尝试删除水平滚动视图中添加的图像,同时单击另一个列表视图中的复选框check1是复选框的id inHorizontalScrollView是水平滚动视图的id,我在addView()方法上添加了imageview。 删除视图时添加视图不是问题,它只删除最后一个视图 非常感谢 check1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Overrid
非常感谢
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的回复……需要一个示例程序或参考资料吗?您能解释一下这方面的细节吗……再次感谢您。。