2014-08-30 63 views
0

我正在創建一個Android應用程序,我有幾個自定義的ViewGroups我創建並希望添加一個ViewPager到我的MainActivity,以便我可以在屏幕之間來回切換視圖。然而,它看起來像添加到ViewPager的項目必須是一個片段。我是否需要爲每個自定義ViewGroup創建一個單獨的片段,或者是否有直接添加它們的方式?使用ViewPager與自定義ViewGroups

+1

根本不需要片段,請參閱http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html – pskink 2014-08-30 18:34:02

回答

0

不,你不需要它。

在您的FragmenAdapter中,根據當前位置爲每個片段設置所需的ID佈局。

// FragmentStatePagerAdapter

public class DynamicViewsFragmentAdapter extends FragmentStatePagerAdapter { 

public DynamicViewsFragmentAdapter(FragmentActivity activity) { 
    super(activity.getSupportFragmentManager()); 
} 

@Override 
public Fragment getItem(int position) { 
    DynamicViewsFragment fragment = new DynamicViewsFragment(); 
    int idLayout = getIdLayoutBasedOnPosition(position); 
    fragment.setIdLayout(idLayout); 
    return fragment; 
} 

@Override 
public int getCount() { 
    return 3; 
} 

private int getIdLayoutBasedOnPosition(int position) { 
    if(position == 0) return R.layout.one; 
    else if (position == 1) return R.layout.one; 
    else return R.layout.three; 
} 
} 

//片段

public class DynamicViewsFragment extends Fragment { 

private int _idLayout; 

public void setIdLayout(int idLayout) { 
    _idLayout = idLayout; 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 
    View rootView = inflater.inflate(_idLayout, container, false); 
    return rootView; 
} 

} 
相關問題