【发布时间】:2018-05-31 14:05:50
【问题描述】:
我无法将我从网站收集的图像显示到回收视图中。我首先使用 jsoup 获得了图像 url。然后我将这些网址添加到一个名为 imgURLS 的列表中。现在我想在具有回收视图的 gridview 中显示这些图像。我没有错误的代码,但是当我运行我的android项目时没有显示图像。它只是空白。这是我的一些代码
MAINACTIVITY.JAVA
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new URLcollector().execute();
imageView = findViewById(R.id.imageView);
//setBKG = findViewById(R.id.setBKG);
rvMain = findViewById(R.id.rvMain);
// can add another parameter here like text
MyAdapter adapter = new MyAdapter(imgURLS);
rvMain.setLayoutManager(new GridLayoutManager(MainActivity.this, 2));
rvMain.setAdapter(adapter);
}
然后还在mainactivity.java中
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
// String[] companyList;
List<String> logoList;
ImageView currentView;
Bitmap imgBitmaps;
public MyAdapter( List<String> logoList) {
// this.companyList = companyList;
this.logoList = logoList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_item, parent, false);
MyViewHolder viewHolder = new MyViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
// load image from picasso and then
Context context = holder.logo.getContext(); //<----- Add this line
Picasso.with(context).load(imgURLS.get(position)).into(holder.logo);
}
@Override
public int getItemCount() {
return logoList.size();
}
}
我的问题是
1) 我是否正确使用了毕加索?
2) 为什么我看不到图片(记住可见是在 xml 中)?
如果我需要提供更多代码,请告诉我。
【问题讨论】:
-
尝试在浏览器中打开您的网址。它显示你的形象吗?
-
这是什么“ImageView currentView;”只需在 .into(holder.yourImageView) 中设置这样的东西。
-
@EugeneTroyanskii 是的。
-
@EugneTroyanskii 我更新了 .into(holder.logo)。但它仍然没有解决问题。
标签: java android android-recyclerview picasso