在我的应用程序中,我有一个片段,它使用FrameLayout
从远程服务器加载图像以设置AsynTask
的背景,并在onPostExeccute()
方法中尝试使用{{1}渲染位图图像}}。但是当我的Fragment第一次开始没有在FrameLayout的背景中加载图像但是当我刷新特定的片段时,我可以看到图像作为背景。
更新了AsyncTask中的代码段
Picasso
答案 0 :(得分:2)
对于周参考的特定问题,请尝试创建全局Target对象。如下面的代码所示。
代码示例:
Target target;
target = new Target(){
@Override
public void onPrepareLoad(Drawable arg0) {
// TODO Auto-generated method stub
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom arg1) {
//Toast.makeText(ctx,"Loaded",Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
pImg.setBackgroundDrawable(new BitmapDrawable(ctx.getResources(), bitmap));
pImg.invalidate();
}
@Override
public void onBitmapFailed(Drawable arg0) {
// TODO Auto-generated method stub
Toast.makeText(ctx, "Failed Loading", Toast.LENGTH_SHORT).show();
}
};
Picasso.with(ctx).load(myPlace.getImg()).into(target);
答案 1 :(得分:0)
设置背景后,您应在invalidate()
上致电pImg
。
答案 2 :(得分:0)