使用ViewPager / TabLayout将Spinner与两个片段同步

时间:2017-07-01 17:23:58

标签: java android android-fragments android-viewpager android-tablayout

这就是我的'app'目前的样子:http://imgur.com/a/dFeLT 我试图同步两个微调器,这样当我在第一个选项卡上选择一个项目时,它也将在第二个选项卡上被选中。

我尝试通过接口进行通信并在onCreateView期间更新特定片段上的微调器视图,但由于视图已经在片段可见之前创建,因此没有任何变化。

当片段通过覆盖setUserVisibleHint变得可见时,也尝试更新微调器的选定项目,它可以工作,但看起来并不好看,因为滑动和更新微调器之间存在延迟。

当我从片段1中滑过时,是否可以以片段2的微调器中的项目已设置的方式同步两个微调器?应该双向工作。

干杯

1 个答案:

答案 0 :(得分:0)

您可以使用setArguments和getArguments来在膨胀片段之前获取数据。

以下是示例代码:

父类:

Bundle bundle = new Bundle();
fragment1 = new Fragment1();
bundle.putString("key1","messageContent");
fragment1.setArguments(bundle);

片段类:

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup 
container, @Nullable Bundle savedInstanceState) {
    String x;
    Bundle bundle = new Bundle();
    bundle = getArguments();
    x= bundle.getString("key1");
    return super.onCreateView(inflater, container, savedInstanceState);
}