私のアクティビティには 30 以上のビューが表示されます。それぞれは、ネストされた ImageView といくつかの TextViews を含む RelativeLayout です (一部は静的で、一部は可変です)。結果を表示するプログラムによる方法にリファクタリングすると、次のようになります。
tbnImages = db.getTbnImages();
tbnNames = db.getTbnNames();
tbnExts = db.getTbnExts();
tbnDescs = db.getTbnDescs();
vf = (ViewFlipper) findViewById(R.id.viewFlipperTbnImages);
vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.left_in));
vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.left_out));
detector = new SimpleGestureFilter(this, this);
tbnImage = (ImageView) findViewById(R.id.tbnImage);
tbnName = (TextView) findViewById(R.id.tbnName);
tbnExt = (TextView) findViewById(R.id.tbnExt);
tbnDesc = (TextView) findViewById(R.id.tbnDesc);
最後のビュー (最初のビューにリダイレクト) と最初のビュー (最後のビューを表示) でメソッドを起動するときの正しい動作を含め.showNext()
、メソッドが適切なビューを表示するように ViewFlipper を構成するにはどうすればよいですか?.showPrevious()
.showNext()
.showPrevious()
public void onSwipe(int direction) {
switch (direction) {
case SimpleGestureFilter.SWIPE_RIGHT:
vf.showPrevious();
break;
case SimpleGestureFilter.SWIPE_LEFT:
vf.showNext();
break;
}
すべての変数 (ImageView 画像と TextView テキスト) は ArrayList から取得されます。それらを ViewFlipper の子として設定するには?