相关疑难解决方法(0)

在第一次加载时未调用的Target对象的onBitmapLoaded

在我的功能:

public void getPointMarkerFromUrl(final String url, final OnBitmapDescriptorRetrievedListener listener) {
final int maxSize = context.getResources().getDimensionPixelSize(R.dimen.icon_max_size);
Target t = new Target() {
  @Override
  public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
    if (bitmap != null)
      listener.bitmapRetrieved(getBitmapDescriptorInCache(url, bitmap));
    else
      loadDefaultMarker(listener);
  }

  @Override
  public void onBitmapFailed(Drawable errorDrawable) {
    loadDefaultMarker(listener);
  }

  @Override
  public void onPrepareLoad(Drawable placeHolderDrawable) {
  }
};

Picasso.with(context)
    .load(url)
    .resize(maxSize, maxSize)
    .into(t);
}
Run Code Online (Sandbox Code Playgroud)

我第一次加载图片时从不调用onBitmapLoaded().我已经阅读了一些话题,如https://github.com/square/picasso/issues/39,建议使用fetch(Target t)方法(这似乎是弱引用的问题......),但是这个函数在毕加索的最后一个版本(2.3.2)中没有.我只有一个fetch()方法,但我不能同时使用(mytarget)

你能解释一下如何使用fetch()和自定义Target吗?谢谢.

文件:http://square.github.io/picasso/javadoc/com/squareup/picasso/RequestCreator.html#fetch--

picasso

122
推荐指数
6
解决办法
4万
查看次数

使用Picasso通过Bitmap获取回调

我正在使用Picasso为我的应用下载图像.

我遇到的情况是我需要Bitmap在加载到第一个之前访问第一个ImageView.Downloader.Response该类的存在似乎表明这是可能的,但我找不到任何使用示例.我不想写一堆更多的代码来异步处理这个特殊情况,如果它可以与Picasso一起使用的话.

谁能告诉我怎么做?

android bitmap picasso

81
推荐指数
3
解决办法
9万
查看次数

毕加索加载图像失败,应用崩溃

我是Android开发的新手,正在尝试使用Picasso从URL加载图像,但是当我导航至Picasso加载活动时,该操作失败。

以下是我用于的代码:

//Declaring Variable
ImageView ImageView1 = (ImageView)findViewById(R.id.forthImage);
Context context = this;

//In onCreate()
Picasso.with(context).load("http://postimg.org/image/wjidfl5pd/").into(ImageView1);
Run Code Online (Sandbox Code Playgroud)

在我的XML中:

<ImageView
    android:id="@+id/forthImage"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/thirdImage"
    />
Run Code Online (Sandbox Code Playgroud)

还有我的猫

09-02 09:11:39.632: E/AndroidRuntime(8680): FATAL EXCEPTION: main
09-02 09:11:39.632: E/AndroidRuntime(8680): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.toppan.toppan_android_v1/com.toppan.toppan_android_v1.Animation_Run}: java.lang.NullPointerException
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2286)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.app.ActivityThread.access$600(ActivityThread.java:144)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1259)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.os.Looper.loop(Looper.java:137)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at android.app.ActivityThread.main(ActivityThread.java:5166)
09-02 09:11:39.632: E/AndroidRuntime(8680):     at java.lang.reflect.Method.invokeNative(Native …
Run Code Online (Sandbox Code Playgroud)

picasso

1
推荐指数
1
解决办法
3578
查看次数

标签 统计

picasso ×3

android ×1

bitmap ×1