我正在寻找一个通过ViewPager / PageIndicator使用Fragments的简短示例。 我找到的所有教程/示例都提供了对生成的文本或图像的精确解释,这些文本或图像传递给单个片段。
有没有人可以提供一个简短的例子,只有2个独立的片段(包括xml-layout-part)。
指向示例或教程的链接也没问题! : - )
答案 0 :(得分:5)
在将承载片段的MainActivity中,您需要创建片段适配器类,在getItem()方法中,您将返回片段的新实例。看一下这个例子:
public class MainActivity extends FragmentActivity {
static int numberOfPages = 2;
ViewPager myViewPager;
MyFragmentPagerAdapter myFragmentPagerAdapter;
String text = "test";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
myViewPager = (ViewPager) findViewById(R.id.view_pager);
myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
myViewPager.setAdapter(myFragmentPagerAdapter);
}
// Adapters
private static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
return PageFragment.newInstance(text);
}
@Override
public int getCount() {
return numberOfPages;
}
}
}
//片段类
public class PageFragment extends Fragment {
TextView tv;
public static PageFragment newInstance(String text) {
PageFragment pageFragment = new PageFragment();
Bundle bundle = new Bundle();
bundle.putString("test", text);
pageFragment.setArguments(bundle);
return pageFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
tv = (TextView) view.findViewById(R.id.tv);
tv.setText(getArguments().getString("test");
return view;
}
答案 1 :(得分:4)
Open Eclipse - >新的Android应用程序项目 - >按下一步 - >输入应用程序名称,并在最小sdk中选择4.0以上的任何内容 - >按“下一步”3次
在导航类型的新空白活动中选择“滑动视图+标题条” - >光洁度
这是ViewPager的非常好的简单示例。