2017-06-01 13 views
-1

私はアダプタでイメージイメージのパスを取得したいので、次のアクティビティにパスを渡してフルスクリーンまたは新しいアイデアでイメージビューを表示できますか?私はポジションを試しましたが、表示されません。RecyclerviewでImageViewのパスを取得するには?

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

以下のようにあなたは私がRecyclerviewについてあまり知らない2つの別々の – corvairjo

答えて

0

あなたは()アダプタクラスのonBindViewHolderにクリックリスナーを追加し、それから活動を呼び出して、あなたが今createListc.getUriを行っているとしてURLを渡すことができます。

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

に新たな質問にあなたの2番目の質問を置くことを検討すべきです。あなたは実際にそれを実装することで私を助けてくれますか? –

+0

createlistc.getUri()は、内部クラス –

+0

からアクセスします。最終的に変数を作成する必要があります。final CreateList createListc – SAJ

関連する問題