簡體   English   中英

Android studio在標簽片段之間傳遞數據

[英]Android studio pass data between tab fragments

我有兩個片段和一個主要活動(帶有兩個選項卡的選項卡式活動)。 我將在片段f2收到一個字符串。 然后,如果用戶將選項卡從f2滑動到f1 ,則f1應該接收f2的字符串。

我用一個主要的活動來容納兩個碎片

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                F1 tab1 = new F1();
                return tab1;
            case 1:
                F2 tab2 = new F2();
                return tab2;
            default:
                return null;
        }
    }

F1:

public class F1 extends Fragment {

TextView x;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.profile, container, false);
    x = (TextView) rootView.findViewById(R.id.section_label);
    return rootView;
}

}

F2:

public class F2 extends Fragment {

String x;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.profile, container, false);
    x = "myTest";
    return rootView;
}

}

那么如何將字符串x傳遞給F1呢? 謝謝。

實現viewPager pageListener並從fragment1獲取變量並將其傳遞給片段2。

        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {                
            tab2.setX(tab1.getX(););
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM