私は家の交換アプリに取り組んでいます。ビューページャーを使用して、横方向のナビゲーションを備えた3つの3つのレイアウトを作成しています。問題は、これらのレイアウトが3つの異なるレイアウトリソースファイル(layout1.xml、layout2.xml、layout3.xml)に保存されており、代わりに各画面のコンテンツを動的に作成したいということです。
これは、各ページのコンテンツを示すAdapaterの抜粋です。
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.layout1;
break;
case 1:
resId = R.layout.layout2;
break;
case 2:
resId = R.layout.layout3;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
プログラムで簡単なレイアウトを作成し、それを画面の1つに配置するにはどうすればよいですか?私はこれにたくさん取り組んできましたが、それを行う方法についての手がかりを見つけることができません。正しい方向に私を向ける情報は役に立ちます。
編集:
これは私が今試していることです、私はそれほど遠くないと思います、しかしすべての画面は空白です:
Context context = collection.getContext();
LinearLayout layout = new LinearLayout(context);
TextView view = new TextView(context);
switch (position) {
case 0:
view.setText("some text");
view.setPadding(5, 5, 5, 5);
view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
break;
case 1:
view.setText("some text");
view.setPadding(5, 5, 5, 5);
view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
break;
case 2:
view.setText("some text");
view.setPadding(5, 5, 5, 5);
view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
break;
}
layout.addView(view);
return layout;