Как отправить данные из адаптера в fragmnet.
![This is How me layout look](https://i.stack.imgur.com/N328Q.png)
Здесь я использую Recyclerview, чтобы показать мой список контактов Так вот код адаптера
Код адаптера RecyclerView:
public class contactAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
ArrayList<contactModel> getdetails =new ArrayList<contactModel>( );
Context con;
LayoutInflater layoutInflater;
Sendcontact sendcontact;
public contactAdapter(Context context, ArrayList<contactModel> getdetails) {
this.con = context;
this.getdetails = getdetails;
layoutInflater = LayoutInflater.from( con);
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = layoutInflater.inflate( R.layout.contactlist, viewGroup, false );
contactLayout layout = new contactLayout(view );
return layout;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
contactLayout layout = (contactLayout) viewHolder;
final contactModel details = getdetails.get( i );
layout.contactname.setText( " "+details.getContactname() );
layout.contactnum.setText( " "+details.getContactnumber() );
layout.favcheck.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked == true){
String status = "true";
String id = details.contactid;
String favname = details.contactname;
String favnum = details.contactnumber;
sendcontact.OnItemclicked(id);
}else{
String status = "false";
String id = details.contactid;
String favname = details.contactname;
String favnum = details.contactnumber;
}
}
} );
}
@Override
public int getItemCount() {
return getdetails.size();
}
public interface Sendcontact{
void OnItemclicked(String id);
}
private class contactLayout extends RecyclerView.ViewHolder{
TextView contactname, contactnum;
CheckBox favcheck;
public contactLayout(View view) {
super(view);
contactname = (TextView) view.findViewById( R.id.name );
contactnum = (TextView) view.findViewById( R.id.phonenumber );
favcheck = (CheckBox) view.findViewById( R.id.favcheck );
}
}
}
Это мой вид Первого фрагмента.Поэтому всякий раз, когда я ставлю галочку, эти данные должны отправляться на мой следующий фрагмент.
Вот код из моего следующего фрагмента
Класс избранного фрагмента:
public class Favorite extends Fragment {
public Favorite() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view= inflater.inflate( R.layout.fragment_favorite, container, false );
return view;
}
contactAdapter.Sendcontact sendcontact = new contactAdapter.Sendcontact() {
@Override
public void OnItemclicked(String id) {
Log.e( TAG, id );
}
};
}