私はアンドロイドマーケットのように、さまざまなカテゴリの製品を表示しようとしています。私はthisライブラリでその動作を実装しており、それはすべて正常に動作しています。ビューページ内のレイアウトが異なります
ここで私がやりたいことは、カテゴリのページにリストビューを表示し、それぞれのリストにグリッドビューを表示することです。もちろん、それぞれのデータソースには異なるデータソースがあります。
どうすれば実現できますか?それはアダプターと関係がありますか?
私はアンドロイドマーケットのように、さまざまなカテゴリの製品を表示しようとしています。私はthisライブラリでその動作を実装しており、それはすべて正常に動作しています。ビューページ内のレイアウトが異なります
ここで私がやりたいことは、カテゴリのページにリストビューを表示し、それぞれのリストにグリッドビューを表示することです。もちろん、それぞれのデータソースには異なるデータソースがあります。
どうすれば実現できますか?それはアダプターと関係がありますか?
FragmentPagerAdapterをオーバーライドし、getItem
をオーバーライドし、ViewPagerのインデックス/位置に応じて適切なFragmentオブジェクト(またはListFragment)を返したいと思います。
あなたはViewPager
(<android.support.v4.view.ViewPager>
)を含み、そしてあなたの活動でなければならない、あなたの活動のためのレイアウトXMLでonCreate
あなたFragmentPagerAdapter
を割り当てるためにViewPager
のsetAdapter
メソッドを使用します。
こんにちは、私はあなたがまたhere
からコードをダウンロードすることができ、このlink
に見て、私はあなたが見つけることができる1つの非常に良い例を見つける必要があり、私のチュートリアルでは、ビューページャでフラグメントを使用する方法について説明していますそうでなければ、このサイト上
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;
}
buddy私はこれを試していますが、ここで私はエラーが発生しています "タイプの不一致:ビューからintに変換できません" v = inflater.inflate(R.layout.patientp1、 (ViewGroup)null、false); –
おかげでこれは私を助けます... –
クールブロ..ありがとう –
ありがとうございました。そして、私が適切なフラグメントを返すと、新しいものを作成するか、次のようなことをする必要があります。 return MyFragment.newInstance(position); – olistic
いずれか動作します。 2つのフラグメントがどのように異なっているかによって異なります。それらを2つの異なるクラスに分割することは意味があります。あるいは、コンストラクタに渡すものに基づいて変化する単一のフラグメントを持つことは理にかなっています。個人的には、私は2つの異なる断片クラスに行きます。 –
ありがとうございました – olistic