2016-01-21 52 views
0

我想知道如何使用我的recyclerview包含畢加索文件。包括畢加索文件給我一個錯誤,它崩潰了應用程序。我面臨的主要問題是將其包含在onBindView中。這裏是我的適配器我file.How可以實現Picasso在我的適配器文件從URL獲取圖像使用Recyclerview實現畢加索

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

請提供代碼導致與stacktrace一起崩潰。 – thetonrifles

+0

請發佈您的崩潰日誌。 –

回答

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); 

} 
+0

它表示無法解析方法'load(java.net.URL)' – klisfer

+0

@kilsfer將它傳遞給URL或URI的字符串,如文檔中提到的 –

+0

您可以使用URL對象的toString()。 – Christopher