描述:
我有一个活动(父亲活动),但里面有一个片段(父亲片段)。此片段带有选项卡,并具有两个片段(Fragment A和Fragment B),这些片段随视图分页器更改。
父亲活动将数据发送到父亲片段,但必须将其带到片段B
问题:
我该如何使用父亲片段将数据带到片段B(它位于视图寻呼机内部)?
额外:
有人告诉我,我可以使用interface,我已经尝试研究它,但是我找不到任何好的教程/解释。
感谢阅读!
您好,Tomas,我已经这样完成了
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适配器中我这样调用farage 2的方法
adapter.getFragment1().reloadView("data");