ArrayList为string,而不是StringArray

时间:2018-01-28 21:03:34

标签: java android

我正在用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("]","")

是否有更简单的解决方案将其转换为字符串以将其发送到数据库?

1 个答案:

答案 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];