【发布时间】:2017-12-14 10:12:39
【问题描述】:
我正在使用无尽的回收器视图来显示多个帖子。但是如果我的网速很慢,并且当我点击 imageview 时图像没有按时加载,它会使应用程序崩溃。 我通过意图将 url 从活动发送到另一个。
这里是代码
RecyclerAdapter.java
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String icon = jsonData.get((position)).getImg();
Intent intent = new Intent(context, Detail.class);
intent.putExtra("app_icon", icon);
}
context.startActivity(intent);
Detail.java
detail_icon = (ImageView) findViewById(R.id.detail_icon);
String appicon = getIntent().getStringExtra("app_icon");
try {
detail_icon.setImageBitmap(BitmapFactory.decodeStream((InputStream) new URL(appicon).getContent()));
}catch (IOException e2) {
e2.printStackTrace();
}
未加载图像时在此行崩溃,我单击 imageview。
detail_icon.setImageBitmap(BitmapFactory.decodeStream((InputStream) new URL(appicon).getContent()));
Logcat
Process: com.example.lenovo.connectiontest, PID: 26525
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lenovo.connectiontest/com.example.lenovo.connectiontest.Activity.Detail}: android.os.NetworkOnMainThreadException
at com.example.lenovo.connectiontest.Activity.Detail.onCreate(Detail.java:233)
【问题讨论】:
-
在单独的线程上下载该图像。下载图像后,将其设置为图像视图
-
使用 Glide 或 Picasso 加载图片
-
使用
glide或Picasso从 url 加载图片 -
已经在使用毕加索@Prem
标签: java android android-intent imageview picasso