在我的應用程序中,我有一個包含12個選項卡的選項卡控件。每個選項卡具有相同的片段,但每個選項卡中的內容將有所不同。片段將有一個圖像控件和一個TextView。 我如何根據選項卡索引分配不同的片段內容(圖像和文本)。我將所有12個圖像和文本存儲在資源文件中。根據Android應用程序中的標籤索引更新片段內容
由於提前, IamHuM
在我的應用程序中,我有一個包含12個選項卡的選項卡控件。每個選項卡具有相同的片段,但每個選項卡中的內容將有所不同。片段將有一個圖像控件和一個TextView。 我如何根據選項卡索引分配不同的片段內容(圖像和文本)。我將所有12個圖像和文本存儲在資源文件中。根據Android應用程序中的標籤索引更新片段內容
由於提前, IamHuM
您可以使用一個片段與一種佈局。 然後在onCreateView中填充數據。
提示: 使用自定義方法創建片段以將數據傳入。
MyFragment.newInstance(imageUrl, title)
在你FragmentStatePagerAdapter
(或任何轉接器),您可以創建新的片段,並使用一個構造函數來區分它們。什麼是偉大的關於使用構造是,你是不是僅限於將它們設置了一個索引號:
public class MyPagerAdapter extends FragmentStatePagerAdapter {
private static int PAGES = 3;
private Fragment[] mFragments;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
mFragments = new Fragment[PAGES];
mFragments[0] = new MyFragment(0);
mFragments[1] = new MyFragment(1);
mFragments[2] = new MyFragment(2);
}
@Override
public Fragment getItem(int position) {
return mFragments[position];
}
@Override
public int getCount() {
return PAGES;
}
}
然後你的片段:
public class MyFragment extends Fragment {
private int mData;
public MyFragment(int data) {
mData = data;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_layout, container, false);
return rootView;
}
}
我參考:https://developer.android.com/training/implementing-navigation/lateral.html
哪你正在使用的標籤控制器? – Nithinlal
我在我的活動中使用'android.support.design.widget.TabLayout'控件。 – IamHuM