0

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

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

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) { 
      } 
     }); 
    } 
} 
+0

你有一些听众或适配器? – tompadre

+0

实现了Runnable,View.OnClickListener,MediaPlayer.OnCompletionListener,SeekBar.OnSeekBarChangeListener – Ghork

+0

尽管我没有一个想法,您在哪里试图加载图像(碎片或活动)。你可以选择在你想要显示图像的相应片段中加载图像或者在活动中加载图像,但是你需要告诉你的适配器连接到'viewpager'有一个新的数据可用,准确地说是'notifyDataSetChanged'。 –

回答

1

我不完全相信你在你的代码的最后一部分做什么,但如果user_header_photo是ImageView的,你可以直接载入到它:

Picasso.with(getContext()).load(stolperstein.getImageHeaderUrl()).into(user_header_photo) 
+0

我不明白原因,但这是行得通的。谢谢 – Ghork