从网址加载Android的图片不直接更新片段

时间:2017-05-04 12:42:09

标签: android android-fragments android-activity picasso android-fragmentactivity

我使用寻呼机来控制多个片段,count取决于数据输入。每个片段显示关于人的信息,也显示图像。我在每个片段中按Picasso库加载图像。但是在加载图像并将其设置为ImageView之后片段不会更新,因此它不会出现在屏幕上。如果我关闭片段并再次打开它们,则会显示所有图像。

加载图像后是否可以更新片段,以便图像直接显示在屏幕上?

private void setHeaderImage() {
    if (stolperstein.isImageHeaderUrl()) {
        Picasso.with(getContext()).load(stolperstein.getImageHeaderUrl()).into(new Target() {
            @Override
            public void onPrepareLoad(Drawable arg0) {
            }

            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom arg1) {
                Drawable drawable = new BitmapDrawable(getResources(), bitmap);
                user_header_photo.setBackground(drawable);
            }

            @Override
            public void onBitmapFailed(Drawable arg0) {
            }
        });
    }
}

1 个答案:

答案 0 :(得分:1)

我不确定您在代码的最后部分做了什么,但如果user_header_photo是ImageView,您可以直接将其加载到其中:

<img style="float:right;margin:-27px -2px 10px 15px; box-shadow:-6px 11px 30px 0px #a7a7a7;" src="<?php echo getReferer($_SERVER["HTTP_REFERER"]);?>"?t=<?php echo time(); ?>" width="426" height="236" />

<?php
function getReferer($referer){
    if(empty($referer)) return '/image/no-referer.png';
    return preg_match('/mydomain\.com/i', $referer) ? 'image/local-referer.png' : 'image/remote-referer.png';
}
?>