我正在用Picasso将我的照片加载到recyclerview。用户可以删除图片。
在我的数据库中,它看起来像这样:
USER | IMAGELINK
the user | www.image.de/image1;www.image.de/image2
我在java中拆分此链接并将其填充到recylerview中,它正在运行。 并删除工作。但我的问题是我必须从列表中删除它,并使用删除的图像不在其中的字符串更新数据库。
所以我这样做:
List<String> delete = new ArrayList<>();
for(int i = 0 ; i < list.size(); i++){
delete.add(list.get(i).getImageURL());
}
delete.remove(position);
List<String> strings = new ArrayList<>();
for(int i = 0; i < delete.size();i++){
strings.add(delete.get(i));
}
CharSequence[] cs = strings.toArray(new CharSequence[strings.size()]);
问题是,它在数据库中添加了一个新行,并且未加载图片。我认为这来自于从数组到字符串的转换。
当我删除图片时,它看起来像这样:
USER | IMAGELINK
the user | www.image.de/image1;
www.image.de/image2
Arrays.toString(cs).replace(",",";").replace("[","").replace("]","")
是否有更简单的解决方案将其转换为字符串以将其发送到数据库?
答案 0 :(得分:0)
int userIndex = 777;
int removeImageIndex = 3;
String[] images = list.get(userIndex).getImageURL().split(";");
CharSequence[] cs = new CharSequence[images.length - 1];
for (int i = 0, j = 0; i < images.length; i++)
if (i != removeImageIndex) cs[j++] = images[i];