我以前处理过片段,所以我有5个片段对应于ViewPagerIndicator中的5个选项卡,但是如何填充每个选项卡呢?下面是一个片段的例子:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
viewta = inflater.inflate(R.layout.agridviewxml, container, false);
}下面是我的ViewPagerIndicator的工作原理:
private static final String[] CONTENT = new String[] { "Samsung", "HTC",
"LG", "Sony", "Search" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_tabs);
FragmentPagerAdapter adapter = new GoogleMusicAdapter(
getSupportFragmentManager());
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
TabPageIndicator indicator = (TabPageIndicator) findViewById(R.id.indicator);
indicator.setViewPager(pager);
}
class GoogleMusicAdapter extends FragmentPagerAdapter {
public GoogleMusicAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length].toUpperCase();
}
@Override
public int getCount() {
return CONTENT.length;
}
}
}有什么想法或建议吗?非常感谢
每个选项卡都是空的,我想用数据填充它(填充):

发布于 2013-08-18 16:22:46
您需要编写一个显示所需UI的TestFragment。
例如,要有“包含自定义适配器的列表视图的片段”,可以让TestFragment扩展ListFragment,并在像onActivityCreated()这样的方法中填充适配器。
发布于 2013-08-18 16:40:48
执行以下操作,以便将选项卡与片段连接起来:
mTabsAdapter = new TabsAdapter(this, mViewPager);
mTabsAdapter.addTab(bar.newTab().setText(getString(R.string.monday)),
Monday.class, packBundle);
mTabsAdapter.addTab(bar.newTab().setText(getString(R.string.tuesday)),
Tuesday.class, packBundle);
mTabsAdapter.addTab(
bar.newTab().setText(getString(R.string.wednesday)),
Wednesday.class, packBundle);
mTabsAdapter.addTab(bar.newTab().setText(getString(R.string.thursday)),
Thursday.class, packBundle);
mTabsAdapter.addTab(bar.newTab().setText(getString(R.string.friday)),
Friday.class, packBundle);其中bar是我的actionbar,Monday.class等是我的片段。在最后的packBundle是额外的,我发送给每一个片段供个人使用!我的TabsAdapter是你自己的GoogleMusicAdapter!相应地改变它!
AddTab方法:
public void addTab(ActionBar.Tab tab,Class<?> clss,Bundle args)发布于 2013-08-18 18:04:34
在您的项目中需要两个类。
在TabsAdapter类中,您需要传递所有数据,比如您需要加载的所有类以及选项卡的标题,如
public TabsAdapter(SherlockFragmentActivity fa, ViewPager vPager) {
// TODO Auto-generated constructor stub
super(fa.getSupportFragmentManager());
context=fa;
ab=fa.getSupportActionBar();
mvPager=vPager;
mvPager.setAdapter(this);
mvPager.setOnPageChangeListener(this);
}向TabsAdapter类中添加另一个方法,它将向ViewPager添加选项卡
public void addTab(ActionBar.Tab tab,Class<?> clss,Bundle args){
TabInfo info=new TabInfo(clss, args);
tab.setTag(info);
tab.setTabListener(this);
mtabs.add(info);
ab.addTab(tab);
notifyDataSetChanged();
}从活动传递值,如:
adap=new TabsAdapter(this,vPager);
adap.addTab(ab.newTab().setText("title of tab"), Fragment_1.class,null);
vPager.setAdapter(adap);现在,根据您的需要,自定义您的class适配器类,并使用overriden方法。我希望这个小小的提示对你有帮助。
https://stackoverflow.com/questions/18301098
复制相似问题