對不起,問了重複的問題,但檢查的其他問題後,我用自己的答案他們不是在我的代碼工作,我是新到Android將數據傳遞到一個活動到分片
這裏就是我想要的類通過數據
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;
}
}
這裏是我Fragment
類,我想接收數據
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);
}
}
}
你沒有添加或替換片段onclick,你只是綁定到片段 –
你可以解釋更多的細節我沒有太多knowleage在那 –
告訴我我該怎麼辦 –