我的应用使用制表符。如何将数据从选项卡3的适配器传递到选项卡1。 标签使用viewPager。
当我单击选项卡3上的项目时,它将使用viewPager.setCurrentItem(0)打开选项卡1。打开数据时如何将数据传递到选项卡1。
示例;在操作来自另一个片段的片段时,请使用Bundle。如何使用“标签页”操作。
Tab 3 Adapter code
@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
final VendorHolder vendorHolder = list.get(position);
viewHolder.shoeName.setText(vendorHolder.getName());
viewHolder.vendorName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final int shoeID = position;
//Data i want to pass
Bundle bundle = new Bundle();
bundle.putString("data1", "data");
bundle.putString("dataType", "Type1");
final ViewPager viewPager = MainActivity.myViewpager;
//Instance of viewpager in MainActivity
viewPager.setCurrentItem(0);
}
});
}
Inside Tab 1
//Receive data here
在标签1中,接收“ data1”和“ dataType”
我们将为您提供帮助
答案 0 :(得分:0)
您需要创建接口以将数据从一个活动或片段转移到另一活动或片段。
就像这样:
npm
}
注册到适配器:-
public interface ClickListner {
void onClick(int position, int id);
}
以及“活动”或“片段”附加代码:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
private ClickListner clickListner;
MyAdapter(ClickListner clickListner){
this.clickListner = clickListner;
}
onBindViewHolder{
holder.text.setOnClickListener(v -> clickListner.onClick(position, allLeadModelList.get(position).getId()));
}
}
您终于在onClick()中获得了点击列表提供者的值