如何将数据从一个片段传递到视图分页器内部的另一个片段?

问题描述 投票:0回答:1

描述:

我有一个活动(父亲活动),但里面有一个片段(父亲片段)。此片段带有选项卡,并具有两个片段(Fragment AFragment B),这些片段随视图分页器更改。

父亲活动将数据发送到父亲片段,但必须将其带到片段B

问题:

我该如何使用父亲片段将数据带到片段B(它位于视图寻呼机内部)?

额外:

有人告诉我,我可以使用interface,我已经尝试研究它,但是我找不到任何好的教程/解释。

感谢阅读!

android android-viewpager fragment
1个回答
0
投票

您好,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");
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.