我想知道如何在我的recyclerview中使用Picasso库。包括picasso文件给我一个错误并且它崩溃了app。我面临的主要问题是将它包含在onBindView中。这是我的适配器文件。如何在我的适配器文件中实现Picasso以从url
获取图像Adapter.java
package com.humanfox.klisfer.humanfox;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import org.w3c.dom.Text;
import java.util.List;
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.PersonViewHolder> {
public static class PersonViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView personName;
TextView personProf;
ImageView personPhoto;
public PersonViewHolder(final View itemView) {
super(itemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
itemView.getContext().startActivity(new Intent(itemView.getContext(), caps1.class));
}
});
cv = (CardView) itemView.findViewById(R.id.cv);
personName = (TextView) itemView.findViewById(R.id.textView);
personProf = (TextView) itemView.findViewById(R.id.textView2);
personPhoto = (ImageView) itemView.findViewById(R.id.imageView);
}
}
private List<Person> persons;
RVAdapter(List<Person> persons){
this.persons = persons;
}
@Override
public PersonViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item,viewGroup,false);
PersonViewHolder pvh = new PersonViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(PersonViewHolder personViewHolder, int i) {
personViewHolder.personName.setText(persons.get(i).name);
personViewHolder.personProf.setText(persons.get(i).passion);
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public int getItemCount() {
return persons.size();
}
}
答案 0 :(得分:0)
请提供完整的代码和logcat,以便我们回答这个问题
目前您可以阅读这篇文章http://www.101apps.co.za/index.php/articles/android-recyclerview-and-picasso-tutorial.html
答案 1 :(得分:0)
@Override
public void onBindViewHolder(PersonViewHolder personViewHolder, int i) {
personViewHolder.personName.setText(persons.get(i).name);
personViewHolder.personProf.setText(persons.get(i).passion);
ImageView personPhoto = personViewHolder.personPhoto;
Picasso.with(personPhoto.getContext()).load(persons.get(i).photoUrl.toString()).into(personPhoto);
}