Java 将值从Recyclerview传递到Fragment
我有一个“回收者”视图,它按行显示用户信息,每行都有 TextView显示名称,另一个TextView显示作业;我使用接口在recyclerview中处理OnitemClick以启动一个片段,它将显示用户数据名和作业,我尝试使用bundle将值从recyclerview适配器传递到片段,但bundle始终为null 这是我的适配器类Java 将值从Recyclerview传递到Fragment,java,android-studio,android-fragments,android-recyclerview,Java,Android Studio,Android Fragments,Android Recyclerview,我有一个“回收者”视图,它按行显示用户信息,每行都有 TextView显示名称,另一个TextView显示作业;我使用接口在recyclerview中处理OnitemClick以启动一个片段,它将显示用户数据名和作业,我尝试使用bundle将值从recyclerview适配器传递到片段,但bundle始终为null 这是我的适配器类 public class AuthorAdapter extends RecyclerView.Adapter<AuthorAdapter.MyViewHol
public class AuthorAdapter extends RecyclerView.Adapter<AuthorAdapter.MyViewHolder> {
private LayoutInflater inflater;
private Realm mRealm;
private RealmResults<AuthorInfo> results;
private LaunchFragment lanch;
public AuthorAdapter(Context context, RealmResults<AuthorInfo> realmResults, Realm realm, LaunchFragment mLaunch) {
inflater = LayoutInflater.from(context);
results = realmResults;
mRealm=realm;
lanch=mLaunch;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.custom_row, parent, false);
MyViewHolder holder = new MyViewHolder(view,lanch);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
AuthorInfo current = results.get(position);
holder.name.setText(current.getName());
holder.job.setText(current.getJob());
}
@Override
public int getItemCount() {
return results.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView name;
TextView job;
ImageView image;
CheckBox checkbox;
ItemClickListener itemclicklistener;
LaunchFragment launchFragment;
public MyViewHolder(View itemView,LaunchCards listener) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.tv_name);
job = (TextView) itemView.findViewById(R.id.tv_job);
image = (ImageView) itemView.findViewById(R.id.iv_author);
checkbox = (CheckBox) itemView.findViewById(R.id.checkbox);
checkbox.setOnClickListener(this);
lanunchFragment=listener;
image.setOnClickListener(this);
}
public void setClickListener(ItemClickListener ic) {
this.itemclicklistener = ic;
}
@Override
public void onClick(View view) {
Fragment fragmentGet = new FragmentCard();
Bundle bundle = new Bundle();
bundle.putString("name",results.get(getAdapterPosition()).getName());
fragmentGet.setArguments(bundle);
lanunchFragment.onMark(getAdapterPosition());
}
}
}
你知道为什么bundle总是空的吗?你能分享lanunchFragment.onMark(getAdapterPosition())的代码吗@这是launchfragment.onMark LaunchCards LaunchCards=new LaunchCards(){@Override public void onMark(int位置){showFragmetLaunch();};这个showFragmentlaunch方法:private void showFragmetLaunch(){FragmentCard FragmentCard fragment=new FragmentCard();FragmentManager maneger=getSupportFragmentManager();FragmentTransaction=maneger.beginTransaction();transaction.add(R.id.dump,fragment,“AuthorFrag”);transaction.commit();}你能分享lanunchFragment.onMark(getAdapterPosition())的代码吗@这是launchfragment.onMark LaunchCards LaunchCards=new LaunchCards(){@Override public void onMark(int位置){showFragmetLaunch();};这个showFragmentlaunch方法:private void showFragmetLaunch(){FragmentCard FragmentCard fragment=new FragmentCard();FragmentManager maneger=getSupportFragmentManager();FragmentTransaction=maneger.beginTransaction();transaction.add(R.id.dump,fragment,“AuthorFrag”);transaction.commit();}
public class FragmentCard extends Fragment {
TextView name;
TextView job;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.card_fragment,container,false);
Bundle arguments=getArguments();
if (arguments !=null){
String nameUser=arguments.getString("name");
String jobUser=arguments.getString("job");
name= (TextView)view.findViewById(R.id.get_author);
job= (TextView)view.findViewById(R.id.get_job);
name.setText(nameUser);
job.setText(jobUser);}
return view;
}