使用Picasso在ImageView中无法通过URL加载图像

时间:2015-10-14 19:53:43

标签: java android imageview picasso

我正在尝试使用Picasso库从URL设置ImageView中的图像。 该图像是从以下链接加载的:

https://pbs.twimg.com/profile_images/638751551457103872/KN-NzuRl.png

但不是从这样的链接加载:

http://imagebin.ca/v/2J37dL9JufmN

我无法弄清问题是什么。我想从第二个网址加载我的图片,但它无法正常工作。

这里是* MainActivity.java **:

public class MainActivity extends AppCompatActivity {
    ImageView a;
    String Url;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        a = (ImageView) findViewById(R.id.a);

        Url = "MY_URL";

        Picasso.with(getApplicationContext())
                .load(Url)
                .placeholder(R.drawable.bday)
                .into(a);
}
}

这是 activity_main.xml

的摘录
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/a" />

</LinearLayout>

我在清单中设置了所需的权限。我已经探索了几个类似于这个问题的链接但是无法解决这个问题。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

尝试改变:

Picasso.with(this)
            .load(Url)
            .placeholder(R.drawable.bday)
            .into(a);

另外不要忘记给予

<uses-permission android:name="android.permission.INTERNET" />

到项目的清单

答案 1 :(得分:0)

我自己想出了问题所在。我正在使用像这样的间接链接:http://imagebin.ca/v/2J37dL9JufmN到托管图像的网站,因此它没有被加载到ImageView中。我们应该使用图像的直接链接来加载特定图像,如下所示:https://pbs.twimg.com/profile_images/638751551457103872/KN-NzuRl.png最后有文件名及其扩展名。