我有两个片段和一个主要活动(带两个标签的标签式活动)。我将在片段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
?感谢。
答案 0 :(得分:0)
实现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(););
}
});