For example, I have a fragment, it has the variable I need, which I need to change from the adapter, how to do it?
Fragment
public class AddElementFragment extends Fragment implements interfacce { TabLayout tabLayout; public ViewPager viewPager; String tag = ""; Resources resources; boolean edit; itemList itemList = new itemList("","", new ArrayList<itemQuestion>(), 0); List<View> pages = new ArrayList<View>(); List<String> titles = new ArrayList<String>(); RVQuestionAdapter rvQuestionAdapter; public ArrayList<itemAnswer> answerItem = new ArrayList<itemAnswer>(); boolean onEdit = false; public int oldId; public AddElementFragment setInstance(String tag, boolean edit) { AddElementFragment fragment = new AddElementFragment(); fragment.tag = tag; fragment.edit = edit; return fragment; } public AddElementFragment() {} @Override public void setOldId(int id) { this.oldId = id; } @Override public void setViewPager(int page) { this.viewPager.setCurrentItem(page); } @Override public View onCreateView(final LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.fragment_add_element, container, false); resources = view.getResources(); tabLayout = (TabLayout) view.findViewById(R.id.tabLayout); viewPager = (ViewPager) view.findViewById(R.id.viewPager); titles.add(getActivity().getString(R.string.text_List)); View v2 = null; Button addAutoAnswer = null; switch (tag) { case "orph": titles.add(resources.getString(R.string.text_AddOrph)); v2 = inflater.inflate(R.layout.fragment_add_orph, null); addAutoAnswer = (Button) v2.findViewById(R.id.addAuto); break; case "arif": titles.add(resources.getString(R.string.text_AddArif)); v2 = inflater.inflate(R.layout.fragment_add_arif, null); addAutoAnswer = (Button) v2.findViewById(R.id.addAuto); ImageView info = (ImageView) v2.findViewById(R.id.info); info.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); LayoutInflater inflater2 = getLayoutInflater(savedInstanceState); View AlretDialogForm = inflater2.inflate(R.layout.alert_dialog_info_arif, null); builder.setView(AlretDialogForm); final AlertDialog alert = builder.create(); alert.show(); alert.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); } }); break; } View v1 = inflater.inflate(R.layout.fragment_list_question, null); final EditText nameList = (EditText) v1.findViewById(R.id.name_list); RecyclerView recyclerViewQuestion = (RecyclerView) v1.findViewById(R.id.recycler_view); final EditText question = (EditText) v2.findViewById(R.id.inputQuestion); final EditText answer = (EditText) v2.findViewById(R.id.inputAnswer); Button addAnswer = (Button) v2.findViewById(R.id.addAnswer); RecyclerView recyclerViewAnswer = (RecyclerView) v2.findViewById(R.id.recycler_view); Button addQuestion = (Button) v2.findViewById(R.id.add); LinearLayoutManager llmQuestion = new LinearLayoutManager(view.getContext()); recyclerViewQuestion.setLayoutManager(llmQuestion); rvQuestionAdapter = new RVQuestionAdapter(itemList, view.getContext(), this); recyclerViewQuestion.setAdapter(rvQuestionAdapter); LinearLayoutManager llmAnswer = new LinearLayoutManager(view.getContext()); recyclerViewAnswer.setLayoutManager(llmAnswer); final RVAnswerAdapter rvAnswerAdapter = new RVAnswerAdapter(answerItem, view.getContext()); recyclerViewAnswer.setAdapter(rvAnswerAdapter); addQuestion.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (edit) { new SaveAndLoad(view.getContext()).SearchFileInId(itemList.id); if (oldId != 0) { for (int i = 0; i < itemList.itemQuestions.size(); i++) { if (itemList.itemQuestions.get(i).id == oldId) { itemQuestion itemQuestion = itemList.itemQuestions.get(i); itemList.itemQuestions.remove(i); itemList.itemQuestions.add(i, new itemQuestion(question.getText().toString(), rvAnswerAdapter.getItemAnswers(), itemQuestion.True, itemQuestion.False, oldId)); boolean res = new SaveAndLoad(view.getContext()).Save(itemList); if (res) { edit = true; question.setText(""); answerItem.clear(); answer.setText(""); viewPager.setCurrentItem(0); rvQuestionAdapter.notifyDataSetChanged(); rvAnswerAdapter.notifyDataSetChanged(); } else { Toast toast = Toast.makeText(view.getContext(), resources.getString(R.string.text_failSave), Toast.LENGTH_SHORT); toast.show(); } break; } } } else { final Random random = new Random(); int idAnswer = random.nextInt(1000000000); itemList.itemQuestions.add(new itemQuestion(question.getText().toString(), rvAnswerAdapter.getItemAnswers(),0,0,idAnswer)); boolean res = new SaveAndLoad(view.getContext()).Save(itemList); if (res) { edit = true; question.setText(""); answerItem.clear(); answer.setText(""); viewPager.setCurrentItem(0); rvQuestionAdapter.notifyDataSetChanged(); rvAnswerAdapter.notifyDataSetChanged(); } else { Toast toast = Toast.makeText(view.getContext(), resources.getString(R.string.text_failSave), Toast.LENGTH_SHORT); toast.show(); } } } else { final Random random = new Random(); int idList = random.nextInt(1000000000); int idAnswer = random.nextInt(1000000000); itemList.nameList = nameList.getText().toString(); itemList.id = idList; itemList.itemQuestions.add(new itemQuestion(question.getText().toString(), answerItem,0,0,idAnswer)); itemList.Tag = tag; boolean res = new SaveAndLoad(view.getContext()).Save(itemList); if (res) { edit = true; question.setText(""); answerItem.clear(); answer.setText(""); viewPager.setCurrentItem(0); rvQuestionAdapter.notifyDataSetChanged(); rvAnswerAdapter.notifyDataSetChanged(); } else { Toast toast = Toast.makeText(view.getContext(), resources.getString(R.string.text_failSave), Toast.LENGTH_SHORT); toast.show(); } } } }); addAnswer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { answerItem.add(new itemAnswer(answer.getText().toString(),false)); rvAnswerAdapter.notifyDataSetChanged(); answer.setText(""); } }); if (addAutoAnswer != null) { addAutoAnswer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { switch (tag) { case "orph": // AutoWord(question, rvAnswerAdapter, view.getContext()); break; case "arif": AutoArif(question, rvAnswerAdapter, view.getContext()); break; } } }); } pages.add(v1); pages.add(v2); ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getContext(),pages,titles); viewPager.setAdapter(viewPagerAdapter); tabLayout.setupWithViewPager(viewPager); return view; } void AutoWord(EditText question, RVAnswerAdapter rvAnswerAdapter, Context context, TextView info1) { boolean res = inspectWord(question, info1); if (res) { ArrayList<itemAnswer> itemAnswers = new AutoWord(question.getText().toString()).Answers(); if (itemAnswers.size() != 1) { answerItem.clear(); for (int i=0; i<itemAnswers.size(); i++) { answerItem.add(new itemAnswer(itemAnswers.get(i).answer, itemAnswers.get(i).trueElfalse)); } rvAnswerAdapter.notifyDataSetChanged(); } else { Toast toast = Toast.makeText(context, resources.getString(R.string.text_falseSearchOrphFalse), Toast.LENGTH_SHORT); toast.show(); } } else { Toast toast = Toast.makeText(context, resources.getString(R.string.text_editWord), Toast.LENGTH_SHORT); toast.show(); } } void AutoArif(EditText question, RVAnswerAdapter rvAnswerAdapter, Context context) { ArrayList<itemAnswer> itemAnswers = new AutoArif(question.getText().toString()).Answers(); if (itemAnswers.size() == 0) { Toast toast = Toast.makeText(context, resources.getString(R.string.text_falseDecisionExample), Toast.LENGTH_SHORT); toast.show(); } else { answerItem.clear(); for (int i=0; i<itemAnswers.size(); i++) { answerItem.add(new itemAnswer(itemAnswers.get(i).answer, itemAnswers.get(i).trueElfalse)); } rvAnswerAdapter.notifyDataSetChanged(); } } boolean inspectWord(EditText WordET, TextView infoText) { char[] WordChar = WordET.getText().toString().toCharArray(); int Result = 0; int Result2 = 0; for (int i=0; i<WordChar.length; i++) { if (WordChar[i] == '['|| WordChar[i]==']'||WordChar[i]=='('||WordChar[i]==')') { if (Result2 == 0) { Result2 = i; } else if (i <= Result2 + 1) { Result = 0; break; } Result += 1; } } if (Result == 2) { infoText.setTextColor(Color.GRAY); return true; } else { infoText.setTextColor(Color.RED); return false; } } } Adapter
package ru.landmarkstd.educt.Adapters; import android.animation.ObjectAnimator; import android.content.Context; import android.content.res.Resources; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import ru.landmarkstd.educt.Fragments.AddElementFragment; import ru.landmarkstd.educt.Fragments.interfacce; import ru.landmarkstd.educt.FunctionalClass.ExpandAndCollapce; import ru.landmarkstd.educt.FunctionalClass.GetEvaluation; import ru.landmarkstd.educt.FunctionalClass.SaveAndLoad; import ru.landmarkstd.educt.R; import ru.landmarkstd.educt.SaveClass.itemList; import ru.landmarkstd.educt.SaveClass.questionPager; public class RVQuestionAdapter extends RecyclerView.Adapter<RVQuestionAdapter.ViewHolder> { itemList itemList = null; Context context; Resources resources; AddElementFragment addElementFragment; interfacce listener; public RVQuestionAdapter(itemList itemList, Context context, interfacce listener) { this.itemList = itemList; this.context = context; this.listener = listener; //this.addElementFragment = addElementFragment; resources = context.getResources(); } public static class ViewHolder extends RecyclerView.ViewHolder { CardView cv; TextView textViewQuestion; LinearLayout CardDetail; ImageView open; LinearLayout edit; LinearLayout remove; TextView TrueAnswer; TextView FalseAnswer; TextView Result; ImageView Refresh; View view; ViewHolder(View itemView) { super(itemView); cv = (CardView) itemView.findViewById(R.id.card_view); textViewQuestion = (TextView) itemView.findViewById(R.id.textViewQuestion); CardDetail = (LinearLayout) itemView.findViewById(R.id.CardDetail); open = (ImageView) itemView.findViewById(R.id.open); edit = (LinearLayout) itemView.findViewById(R.id.edit); remove = (LinearLayout) itemView.findViewById(R.id.remove); TrueAnswer = (TextView) itemView.findViewById(R.id.textViewTrue); FalseAnswer = (TextView) itemView.findViewById(R.id.textViewFalse); Result = (TextView) itemView.findViewById(R.id.textViewResult); Refresh = (ImageView) itemView.findViewById(R.id.refresh); view = itemView; } } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_question_card, parent, false); ViewHolder vh = new ViewHolder(v); return vh; } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); } @Override public void onBindViewHolder(final ViewHolder holder, final int position) { holder.textViewQuestion.setText(itemList.itemQuestions.get(position).question); holder.TrueAnswer.setText(resources.getString(R.string.text_TrueAnswer) + itemList.itemQuestions.get(position).True); holder.FalseAnswer.setText(resources.getString(R.string.text_FalseAnswer) + itemList.itemQuestions.get(position).False); holder.Result.setText(resources.getString(R.string.text_Result) + new GetEvaluation(itemList.itemQuestions.get(position), resources).Text()); holder.open.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (holder.CardDetail.getVisibility() == View.GONE) { ExpandAndCollapce.expand(holder.CardDetail, 500); ObjectAnimator rotation = ObjectAnimator.ofFloat(v, "rotation", 180); rotation.setDuration(500); rotation.start(); } else { ExpandAndCollapce.collapse(holder.CardDetail, 500); ObjectAnimator rotation = ObjectAnimator.ofFloat(v, "rotation", 0); rotation.setDuration(500); rotation.start(); } } }); holder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.setOldId(itemList.itemQuestions.get(position).id); listener.setViewPager(1); } }); holder.remove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { itemList.itemQuestions.remove(position); new SaveAndLoad(context).Save(itemList); notifyDataSetChanged(); } }); holder.Refresh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { itemList itemListRefresh = new SaveAndLoad(context).refreshStatic(itemList, itemList.itemQuestions.get(position).question); if (itemListRefresh != null) { itemList = itemListRefresh; boolean resulr = new SaveAndLoad(context).Save(itemList); } else { Toast toast = Toast.makeText(context, resources.getString(R.string.text_FalseRefreshStatic), Toast.LENGTH_SHORT); toast.show(); } } }); } @Override public int getItemCount() { if (itemList.itemQuestions != null) { return itemList.itemQuestions.size(); } else { return 0; } } } Interface
package ru.landmarkstd.educt.Fragments; public interface interfacce { void setOldId(int id); void setViewPager(int page); }