我是Android开发的新手,所以我可能会做一些愚蠢的事情。有什么想法为什么这段代码不起作用?
它编译并运行,但实际上并没有成功设置图像(之前设置为灰色背景)。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_activity);
Button getImageButton = (Button) (findViewById(R.id.btnGetImage));
getImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView myImageView = (ImageView) (findViewById(R.id.myImageView));
Picasso.with(v.getContext()).load("https://www.example.com/someimage").into(myImageView);
}
});
}
答案 0 :(得分:1)
以这种方式改变你的代码
MATCH path=(user1:User)-[knows:KNOWS*2..2]->(user2:User)
WHERE user1.mobile = 9000090001 AND user1 <> user2 AND NOT (user1)-[:KNOWS]->(user2)
RETURN distinct user2
ORDER BY user2.mobile
此处Picasso.with(YOUR_ACTIVITY_NAME.this).load("https://www.example.com/someimage").into(myImageView);
与主要背景无关,因此无法帮助您,我们需要传递当前活动的背景
答案 1 :(得分:1)
请尝试这个并告诉我。
@Override
protected void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_activity);
Button getImageButton = (Button) (findViewById(R.id.btnGetImage));
ImageView myImageView = (ImageView) (findViewById(R.id.myImageView));
getImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Picasso.with(YourActivityName.this).load("https://www.example.com/someimage").into(myImageView);
}
});
}
答案 2 :(得分:1)
我确信你添加了依赖
compile 'com.squareup.picasso:picasso:2.5.2'
并使用了正确的网址
Picasso.with(v.getContext()).load("http://i.imgur.com/DvpvklR.png").into(imageView);
我告诉你哪里出错!!
魔术:您是否添加了互联网许可?它需要在你的清单中
<uses-permission android:name="android.permission.INTERNET" />
而不是你的代码很好
但我建议您使用getApplicationContext()
从我的评论中复制
Picasso
是一个库,而不是一个应用程序。在创造时Picasso
实例,如果你不传递上下文,那你觉得怎么样? 它将从中获取应用程序上下文?为了它的工作需要 上下文,它肯定需要由应用程序提供 使用这个库。它还可以防止泄漏活动(如果是这样的话) 你通过了什么,下面的一些答案已经使用过)切换到 应用背景。使用getApplicationContext()
对于那些随机提出答案的人来说,这也是
View.getContext()
:返回视图当前运行的上下文。通常是当前活动的Activity。
Activity.getApplicationContext()
:返回整个应用程序的上下文(所有活动在其中运行的进程)
的)。如果需要,请使用此代替当前的Activity上下文
上下文绑定到整个应用程序的生命周期,而不仅仅是
当前的活动。
ContextWrapper.getBaseContext()
:如果您需要从另一个上下文中访问Context,则使用ContextWrapper。该
从内部引用的Context是通过访问ContextWrapper
getBaseContext()
。
所以他以任何方式访问葡萄干活动背景。
干杯!
答案 3 :(得分:1)
步骤1在“清单”中检查“Internet连接”
<uses-permission android:name="android.permission.INTERNET" />
第2步 compile "com.squareup.picasso:picasso:2.4.0"
第3步图片网址未在浏览器中显示任何图片,将您的网址粘贴到浏览器中,如果您获得图片,则可以将该图片设置为imagview
第4步检查网址是否正常有没有.file文件扩展名为.png或.jpg
@覆盖
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_activity);
Button getImageButton = (Button) (findViewById(R.id.btnGetImage));
getImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Initializing the ImageView
imageView = (ImageView) findViewById(R.id.imageView);
//Loading Image from URL
Picasso.with(this)
.load("https://www.example.com/someimage")
.placeholder(R.drawable.placeholder) // optional
.error(R.drawable.error) // optional
.resize(400,400) // optional
.into(imageView);
}
});
}