viewpager中的不同布局

时间:2012-05-04 17:28:41

标签: android android-fragments android-viewpager android-adapter swipe-gesture

我正在尝试像Android市场那样展示来自不同类别的产品。我已经使用this库实现了这种行为,并且它运行良好。

我现在要做的是在类别的页面中有一个列表视图,在其他每个列表中都有一个网格视图。当然,他们每个人都有不同的数据来源。

我怎样才能实现这一目标?它与适配器有什么关系吗?

3 个答案:

答案 0 :(得分:9)

我找到了一个很好的例子,你可以在这个网站上找到它

https://github.com/astuetz/ViewPagerExtensions

否则希望此代码对您有所帮助。

@Override
public Object instantiateItem(View collection, int position) {
    View v = new View(PatientView.this.getApplicationContext());
    final LayoutInflater inflater = (LayoutInflater) PatientView.this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    switch (position) {
    case 0:
        v = inflater.inflate(R.layout.patientp1,
                (ViewGroup) null, false);
        ((Button) v.findViewById(R.id.pp1btnbck)).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                finish();
            }
        });

        break;
    case 1:
        v = inflater.inflate(R.layout.patientp2, null, false
                );
        break;
    default:

        TextView tv = new TextView(PatientView.this.context);
        tv.setText("Page " + position);
        tv.setTextColor(Color.WHITE);
        tv.setTextSize(30);
        v = tv;
        break;
    }
    ((ViewPager) collection).addView(v, 0);

    return v;
}

答案 1 :(得分:1)

我认为您需要扩展FragmentPagerAdapter,覆盖getItem,并根据ViewPager中的索引/位置返回正确的Fragment对象(或ListFragment)。

在您的活动的布局xml中,您应该包含ViewPager<android.support.v4.view.ViewPager>),并在您的活动onCreate中使用setAdapter ViewPager方法分配您的FragmentPagerAdapter

答案 2 :(得分:0)

您好我已经解释了如何在我的教程中使用视图分页器中的片段查看link

您也可以从here

下载代码