Android 如何将数据从一个片段传递到另一个´;它在视图寻呼机中吗?
说明: 我有一个活动(父活动),里面有一个片段(父片段)。此片段是选项卡式的,有两个片段(片段A和片段B),可通过查看页面进行更改 父活动将数据发送到父片段,父片段必须将数据带到片段B 问题: 我可以用父片段做什么来将数据带到片段B(位于视图寻呼机内) 额外:Android 如何将数据从一个片段传递到另一个´;它在视图寻呼机中吗?,android,android-viewpager,fragment,Android,Android Viewpager,Fragment,说明: 我有一个活动(父活动),里面有一个片段(父片段)。此片段是选项卡式的,有两个片段(片段A和片段B),可通过查看页面进行更改 父活动将数据发送到父片段,父片段必须将数据带到片段B 问题: 我可以用父片段做什么来将数据带到片段B(位于视图寻呼机内) 额外: 有人告诉我我可以使用界面,我也试过学习,但找不到任何好的教程/解释。Hi@Tomas我就是这样做的 private class ViewPagerAdapter extends FragmentPagerAdapter { p
有人告诉我我可以使用界面,我也试过学习,但找不到任何好的教程/解释。Hi@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适配器,我调用faragment 2的方法,如下所示
adapter.getFragment1().reloadView("data");
您好@Tomas您可以将viewpager片段实例存储在父片段中,并使用该片段实例调用子片段中的一个方法,该方法可以更新数据。您好,谢谢您的回答。你能更详细地解释一下吗?@Deepak这实际上会导致生产崩溃,除非你用它来获取片段实例