我正在尝试像Android市场那样展示来自不同类别的产品。我已经使用this库实现了这种行为,并且它运行良好。
我现在要做的是在类别的页面中有一个列表视图,在其他每个列表中都有一个网格视图。当然,他们每个人都有不同的数据来源。
我怎样才能实现这一目标?它与适配器有什么关系吗?
答案 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)