Привет @ Томас, я сделал вот так
private class ViewPagerAdapter extends FragmentPagerAdapter {
private Fragment fragment1 = Fragment1.getInstance();
private Fragment fragment2 = Fragmen2.getInstance();
ViewPagerAdapter(FragmentManager supportFragmentManager) {
super(supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return fragment1;
} else {
return fragment2;
}
}
@Override
public int getCount() {
return 2 ;
}
@Override
public CharSequence getPageTitle(int position) {
return "";
}
Fragment1 getFragment1() {
return (Fragment1) fragment1;
}
Fragment2 getFragment2() {
return (Fragment2) fragment2;
}
}
это мой код Fragemnt2:
public class Fragment2 extends Fragment {
private TextView text;
public static Fragment2 getInstance() {
return new Fragment2();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragmant_2, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
text = view.findViewById(R.id.text2);
}
public void reloadView(String data){
text.setText(data);
}
}
и из адаптера viewpager я вызываю метод faragment 2 вот так
adapter.getFragment1().reloadView("data");