示例/教程ViewPager和片段 [英] Example/Tutorial for ViewPager and Fragments

查看:191
本文介绍了示例/教程ViewPager和片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆