示例/教程ViewPager和片段 [英] Example/Tutorial for ViewPager and Fragments
问题描述
我在寻找通过ViewPager / PageIndicator片段的使用很短的例子。
所有教程/例子,我发现提供传递到一个单一的片段生成的文本或图像花哨的解释。
I'm looking for a short example for usage of Fragments via ViewPager/PageIndicator. All Tutorials/Examples I found provide fancy explanations with generated texts or images that are passed to one single Fragment.
有谁能够提供只有2独立的片段(包括XML布局部分)。
Does anyone can provide a short example with just 2 separate Fragments (incl. xml-layout-part).
一个例子或教程链接会也未尝不可! : - )
A link to an example or tutorial would be also fine! :-)
推荐答案
在MainActivity将承载你需要创建一个片段适配器类在这的getItem()方法中,你将返回片段的新实例的片段。看看这个例子:
In the MainActivity that will host the fragments you need to create a fragment adapter class in which in getItem() method you will return a new instance of the fragment. Take a look at this example:
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;
}
这篇关于示例/教程ViewPager和片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!