Es tut uns fragen, die wiederholte Frage fragmentieren, aber nach anderen Frage überprüft i verwenden, um ihre Antwort Sie sind nicht in meinem Code arbeiten: Ich bin auf AndroidPassing Daten an eine Aktivität
Hier ist die Klasse, wo ich will gehen die Daten
public class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder> {
private int[] mdataset;
private String[] mplanet;
Context c;
public MainAdapter(Context context ,int[] dataset , String[] planet){
this.c = context;
this.mplanet = planet;
this.mdataset = dataset;
}
@Override
public void onBindViewHolder(MainAdapter.ViewHolder holder, final int position) {
holder.image.setImageResource(mdataset[position]);
holder.textView.setText(mplanet[position]);
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// here is my i want to pass the data position to another fragment**
Bundle bundle = new Bundle();
bundle.putInt("position", position);
bottomActivity fragment = new bottomActivity();
fragment.setArguments(bundle);
}
});
}
@Override
public int getItemCount() {
return mdataset.length;
}
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
TextView textView;
public ViewHolder(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.imageView);
textView = (TextView)itemView.findViewById(R.id.textView);
}
}
@Override
public MainAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.single_row, null);
ViewHolder vh = new ViewHolder(v);
return vh;
}
}
Hier ist meine Fragment
Klasse, wo ich die Daten empfangen möchten
public class bottomActivity extends Fragment
{
TextView textView;
int pos;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_bottom, container, false);
textView = (TextView)view.findViewById(R.id.title_textView);
textView.setText(pos+"");
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// here is that code where the data should received
Bundle bundle = bottomActivity.this.getArguments();
if (bundle != null)
{
pos = bundle.getInt("position", 2);
}
}
}
Sie haben kein Fragment in onclick hinzugefügt oder ersetzt, Sie binden nur das Bundle an das Fragment –
können Sie mehr Details erklären Ich habe nicht viel Knowleage in diesem –
sagen Sie mir, was soll ich tun –