2017-06-01 3 views
-1

Ich möchte den Pfad des Bilds in Adapter erhalten, so dass ich den Pfad zur nächsten Aktivität übergeben und die Bildansicht im Vollbildmodus oder eine neue Idee anzeigen kann? Ich habe es mit der Position versucht, aber es wird nicht angezeigt.Wie bekomme ich ImageView in Recyclerview?

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{ 
Context c; 
ArrayList<CreateList> createLists; 

public MyAdapter(Context c,ArrayList<CreateList> createLists) 
{ 
    this.c = c; 
    this.createLists = createLists; 
} 

@Override 
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v = LayoutInflater.from(c).inflate(R.layout.gallery_item,parent,false); 
    return new MyViewHolder(v); 
} 

@Override 
public void onBindViewHolder(MyViewHolder holder, int position) { 
    CreateList createListc = createLists.get(position); 
    Picasso.with(c).load(createListc.getUri()).into(holder.img); 

} 


@Override 
public int getItemCount() { 

    return createLists.size(); 
} 

public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ 

    ImageView img; 

    public MyViewHolder(View itemView) { 
     super(itemView); 
     img = (ImageView)itemView.findViewById(R.id.country_photo); 
     itemView.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 
     Toast.makeText(v.getContext(), "Clicked Image Position = " + getAdapterPosition(), Toast.LENGTH_SHORT).show(); 

    } 
}} 
+0

Sie berücksichtigen sollten Ihre zweite Frage in eine neue Anfrage an die zwei separate – corvairjo

Antwort

0

Sie können einen Klick Zuhörer in dem onBindViewHolder der Adapterklasse hinzufügen und die Aktivität von nennen und URL übergeben, wie Sie jetzt createListc.getUri tun(). Wie unten

holder.itemView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent intent = new Intent(context, YourActivity.class); 
      intent.putExtra(INTENT_KEY, createListc.getUri(); 
      c.startActivity(intent); 
     } 
    }); 
+0

Ich weiß nicht, über Recyclerview viel zu setzen. Kannst du mir helfen, indem du es tatsächlich implementierst? –

+0

createlistc.getUri() wird von innerhalb der inneren Klasse –

+0

zugegriffen müssen Sie die Variable als final machen .. final CreateList createListc – SAJ

Verwandte Themen