0

我正在寻找一个通过 ViewPager/PageIndicator 使用片段的简短示例。我发现的所有教程/示例都提供了带有生成文本或图像的精美解释,这些文本或图像传递给一个片段。

有没有人可以提供一个只有 2 个单独的片段(包括 xml-layout-part)的简短示例。

一个示例或教程的链接也可以!:-)

4

2 回答 2

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;
}
于 2013-02-25T17:55:18.037 回答
4

打开 Eclipse --> 新建 Android 应用程序项目 --> 按 Next --> 输入应用程序名称并在最小 sdk 中选择高于 4.0 的任何内容 --> 按 Next 3 次

在导航类型中的新空白活动中,选择“滑动视图 + 标题条”-> 完成

这是 ViewPager 的一个非常漂亮和简单的示例。

于 2013-02-25T17:41:05.960 回答