Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Gallery android刷新当前图片_Android_Refresh_Gallery_Invalidation - Fatal编程技术网

如何从Gallery android刷新当前图片

如何从Gallery android刷新当前图片,android,refresh,gallery,invalidation,Android,Refresh,Gallery,Invalidation,在寻找一个尝试如何做到这一点的方法后,由于我的失败,我提出了这个问题 重点是我试图在图库中显示我从http服务器获得的几张图片。问题是当我第一次打开活动时,如果图片不在本地缓存的特定文件夹中,我会显示一张默认图片,然后通过异步任务启动图片下载。我尝试的是在图片下载并保存到文件夹后,在活动中更新/刷新图库以显示图片。如果我向左/向右滑动画廊,则在刷新画廊时会显示图片,但我希望发生这种情况,以避免滑动画廊 还请注意,基本适配器始终具有对图片的正确引用,如果文件夹中不存在文件,则选择默认图片 publ

在寻找一个尝试如何做到这一点的方法后,由于我的失败,我提出了这个问题

重点是我试图在图库中显示我从http服务器获得的几张图片。问题是当我第一次打开活动时,如果图片不在本地缓存的特定文件夹中,我会显示一张默认图片,然后通过异步任务启动图片下载。我尝试的是在图片下载并保存到文件夹后,在活动中更新/刷新图库以显示图片。如果我向左/向右滑动画廊,则在刷新画廊时会显示图片,但我希望发生这种情况,以避免滑动画廊

还请注意,基本适配器始终具有对图片的正确引用,如果文件夹中不存在文件,则选择默认图片

public View getView(int position, View convertView, ViewGroup parent) {
    ImageView i = new ImageView(mContext);
    i.setImageBitmap(getPicturePath(position + 1));
    i.setLayoutParams(new Gallery.LayoutParams(wHeight / 3, wHeight / 4));
    i.setScaleType(ImageView.ScaleType.FIT_XY);
    i.setBackgroundResource(mGalleryItemBackground);

    return i;
}

private Bitmap getPicturePath(int picture) {
    String picturePath = Environment.getExternalStorageDirectory()
            .getAbsolutePath()
            + "/pictures/" + picture
            + ".jpg";
    File f = new File(picturePath);
    if (f.exists())
        return BitmapFactory.decodeFile(picturePath);
    else
        return BitmapFactory.decodeResource(mContext.getResources(),
                R.drawable.no_image);
}
我尝试使库中的()无效,并在适配器baseadapter中通知DataSetChanged(),但它不起作用,屏幕上的图片不会改变

有什么建议可以解决这个问题吗


非常感谢。

您正在UI线程上尝试此功能吗?如果没有,请尝试在runonUithread中调用invalidate