ちょっと、ユーザーが画像をタップしたときにお気に入りのアクティビティに画像を追加したいと思います。これまでのところ、私はデータを得ることができますが、それを私のお気に入りのアクティビティに渡す方法はわかりません。おそらくインテントとブロードキャストを使用して、この問題にどのようにアプローチすればよいでしょうか?どんな助けもありがとう。 albums.get(position).getImage()
android:アダプタクラスからアクティビティにデータを送信する
:ありがとう
は、ここに私のMyRecyclerAdapterクラスは
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyViewHolder>{
Context c;
ArrayList<Album> albums;
public MyRecyclerAdapter(Context c, ArrayList<Album> albums){
this.c=c;
this.albums=albums;
}
// Initialize holder
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.model,null);
MyViewHolder holder = new MyViewHolder(v);
return holder;
}
//Bind data to views
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.nameTxt.setText(albums.get(position).getName());
holder.img.setImageResource(albums.get(position).getImage());
//listener
holder.setItemClickListener(new ItemClickListener() {
@Override
public void onItemClick(View v, int pos) {
Toast.makeText(c,albums.get(pos).getName() + " ,added to favorite ",Toast.LENGTH_SHORT).show();
// albums.get(pos).getName();
}
});
}
@Override
public int getItemCount() {
return albums.size();
}
}
だ。ここに私MyViewHolderクラスは、あなたのイメージがあなたの描画可能なフォルダに配置されており、このラインにより得ることができると仮定すると
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
ImageView img;
TextView nameTxt;
ItemClickListener itemClickListener;
public MyViewHolder(View itemView) {
super(itemView);
nameTxt=(TextView) itemView.findViewById(R.id.nameTxt);
img = (ImageView) itemView.findViewById(R.id.movieImage);
itemView.setOnClickListener(this);
}
public void setItemClickListener(ItemClickListener ic)
{
this.itemClickListener=ic;
}
@Override
public void onClick(View v) {
this.itemClickListener.onItemClick(v,getLayoutPosition());
}
}
意味しますか? –
あなたがあなたのアクティビティに転送したい正しいImageを見つけたら、それを試み、FavouriteActivityに切り替えるために新しいIntentを開始し、余分な画像を渡してください。 BitmapをByteArrayに変換する必要があります。 [こちらをチェック](http://stackoverflow.com/questions/11010386/send-bitmap-using-intent-android)が役立ちます。 –
@AjayShrestha(ah testai vanam)私は文字列値を渡すことを考えていましたが、ビットマップイメージを渡す必要があります。 – user7062312