2

さまざまなカテゴリの商品を表示するために、Androidマーケットのようなことをしようとしています。私はこのライブラリを使用してその動作を実装しましたが、すべて正常に動作しています。

私が今やりたいのは、カテゴリのページにリストビューを表示し、他の各カテゴリにグリッドビューを表示することです。もちろん、それぞれが異なるデータソースを持っています。

どうすればそれを達成できますか?それはアダプターと関係がありますか?

4

2 に答える 2

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;
}
于 2012-05-04T17:46:35.780 に答える
1

FragmentPagerAdapterを拡張し、オーバーライドgetItemして、ViewPager のインデックス/位置に応じて適切な Fragment オブジェクト (または ListFragment) を返したいと思います。

ViewPagerアクティビティのレイアウト xml には( <android.support.v4.view.ViewPager>)を含める必要があり、アクティビティでは のメソッドをonCreate使用して.setAdapterViewPagerFragmentPagerAdapter

于 2012-05-04T17:35:17.193 に答える