我的應用程序創建一個相冊,用戶選擇他/她想添加到相冊的圖像。如何知道圖像是否仍然存在
我將選定的圖像路徑存儲在數據庫中,並檢索這些路徑並將其轉換爲位圖並將它們放入RecyclerView中。
我的問題是什麼,如果用戶刪除我的數據庫畫廊中的圖像,但是路徑依然存在如何將我的應用程序適應這種情況,因爲我只保存我的數據庫中的圖像路徑?
這裏是下面的代碼顯示圖像在RecyclerView
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> {
static List<GettersSetters> dbList;
static Context context;
ImageAdapter(Context context, List<GettersSetters> dbList) {
this.dbList = new ArrayList<GettersSetters>();
this.context = context;
this.dbList = dbList;
}
@Override
public ImageAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.item_image, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ImageAdapter.ViewHolder holder, int position) {
Bitmap img = decodeBitmapWithSize(dbList.get(position).getPath(),300,150, true);
holder.imageGallery.setImageBitmap(img);
}
@Override
public int getItemCount() {
return dbList.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public ImageView imageGallery;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
imageGallery = (ImageView) itemLayoutView.findViewById(R.id.img_row);
itemLayoutView.setOnClickListener(this);
itemLayoutView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(context,"Delete Image",Toast.LENGTH_LONG).show();
return true;
}
});
}
@Override
public void onClick(View v) {
}
}
檢查路徑是否有效...? –
從數據庫檢查它。 –
無論何時您要顯示圖像,您都可以檢查文件是否存在。 –