【发布时间】:2018-12-31 20:26:28
【问题描述】:
我成功将onClickListener 放入recyclerView,但我的问题是
recyclerview 中的每个项目都转到相同的新活动!!!
我们可以用物品位置或什么来解决它吗?
我正在尝试将每个RecyclerView(项目或单元格)发送到一个新的activity。假设第一个是食物,将其发送到食物页面,下一个是健康,将其发送到健康页面......等等。我正在尝试更改它发送给用户的每个不同视图的 activity.class活动主体。
我的适配器类
import java.util.List;
public class Adapter extends RecyclerView.Adapter<Adapter.myViewHolder>{
Context mcontext;
List<item> mData;
RecyclerView recyclerView;
public Adapter(Context mcontext, List<item> mData) {
this.mcontext = mcontext;
this.mData = mData;
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater=LayoutInflater.from(mcontext);
View v =inflater.inflate(R.layout.card_item,parent,false);
return new myViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull final myViewHolder holder, final int position) {
holder.background_img.setImageResource(mData.get(position).background);
holder.tv_title.setText(mData.get(position).profilename);
holder.profile_photo.setImageResource(mData.get(position).profilephoto);
holder.tv_subtitle.setText(mData.get(position).subtitle);
holder.share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
String shareBody = "Your body here";
String shareSub = "Your subject here";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, shareSub);
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
mcontext.startActivity(Intent.createChooser(sharingIntent, "Share using"));
}
});
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mcontext, SomaBay_bulding_Structure.class);
mcontext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mData.size();
}
public class myViewHolder extends RecyclerView.ViewHolder{
ImageView profile_photo,background_img;
TextView tv_title,tv_subtitle;
Button share;
public myViewHolder(View itemView) {
super(itemView);
profile_photo=itemView.findViewById(R.id.profile_img);
background_img=itemView.findViewById(R.id.card_background);
tv_title=itemView.findViewById(R.id.card_title);
tv_subtitle=itemView.findViewById(R.id.card_subtitle);
share = itemView.findViewById(R.id.button_share);
}
}
}
【问题讨论】:
-
你可以检查这个答案它有同样的问题:stackoverflow.com/a/53802272/7055487
标签: android android-intent android-recyclerview