0

這就是我的'app'看起來像這個時刻:http://imgur.com/a/dFeLT 我試圖同步兩個微調器,這樣當我選擇第一個選項卡上的項目時,它也會在第二個選項卡上選擇。使用ViewPager/TabLayout同步兩個片段上的微調器

我嘗試通過接口進行通信,並在onCreateView期間更新特定片段上的微調器視圖,但由於在片段可見之前已經創建了視圖,因此沒有任何更改。

還嘗試更新微調器的選定項目時,通過重寫setUserVisibleHint片段變得可見,它的工作原理,但不看起來不錯,因爲刷卡和更新微調器之間有一個延遲。

是否有可能同步兩個旋轉器的方式,當我從片段1滑過時,片段2的微調器中的項目已經設置?應該同時工作。

乾杯

回答

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); 
} 
+0

從片段片段通信的數據是不是我的問題,它更多的事實如何更新其他片段微調器而不會有明顯的延遲。 setUserVisibleHint/getUserVisibleHint真的很糟糕,因爲在它返回true之前,你已經在滑動後已經可以看到新的片段了。也不能使用onCreate/onCreateView,因爲碎片只會膨脹一次,而不是每次我刷卡。 –