Вы должны изменить значение внутри вашей модели в modelList, затем вызвать adapter.notifyDatasetChanged();
Если вы находитесь внутри фрагментов, вы можете использовать интерфейс или что-то вроде EventBus для уведомления о событиях родительской активности.
как пример:
Фрагмент
public class YourFragment extends Fragment {
public YourFragment() {
// Required empty public constructor
}
Model model;
int position;
public static YourFragment newInstance(Model model , int position) {
YourFragment fragment = new YourFragment();
Bundle args = new Bundle();
args.putSerializable("model" , model);
args.putInt("position" , position);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
model = getArguments().getSerializable("model");
position = getArguments().getInt("position");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
//initViews
reponse1.setOnClickListener((View.OnClickListener) v -> {
String newText = "SomeThing";
MainActivity.listener.onItemClicked(position , newText);
});
return view;
}
}
MainActivity:
public class MainActivity extends AppCompatActivity {
List<Model> modelList ;
SectionsPagerAdapter mSectionsPagerAdapter ;
private interface ItemClickListener {
void onItemClicked(int position , String newText);
}
public static ItemClickListener listener = new ItemClickListener(){
@Override
public void onItemClicked(int position , String newText){
Model model = modelList.get(position);
model.setText(newText);
modelList.set(position , model);
adapter.notifyDatasetChanged();
}
}
@Override
public void onCreate(args...){
//init views
init_adapter();
}
private void init_adapter(){
modelList = new ArrayList<>();
//Inflate
modelList.add(new Model(R.drawable.photo0, "Commencer", "", "", "","", 0, ""));
modelList.add(new Model(R.drawable.photo1, "Ose faire ______ ce que tu redoutais hier.", "Ose faire aujourd'hui ce que tu redoutais hier", "Demain", "Aujourd'hui", "Dans un ans", 2, "01"));
modelList.add(new Model(R.drawable.photo2, "Ton temps est _____, nattends plus.", "Ton temps est limité, n'attends plus.", "Infinie", "Limité", "Gratuit", 2, "02"));
mSectionsPagerAdapter = new
SectionsPagerAdapter(getChildFragmentManager());
viewPager = findViewById(R.id.viewPager);
viewPager.setAdapter(mSectionsPagerAdapter);
}
}
Адаптер фрагмента:
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
YourFragment.newInstance(modelList.get(position) , position);
}
@Override
public int getCount() {
return modelList.size();
}
}