私は、基本的には文字列の配列で設定されたListViewであるAndroidアプリケーションを作成しています。配列の位置は、渡される位置IDに基づいて、6つの異なるXMLレイアウトの1つを設定する「詳細」アクティビティに渡されます。 XMLレイアウトはViewFlippersであり、私はユーザーがそれらの間を行き来できるようにしたいと思います。私は主に、ListViewでユーザーが選択した項目が常に「詳細」ページの最初の項目であることを除いて、機能しています。したがって、ユーザーがリストビューの3番目の項目を選択した場合、3番目の項目が表示されますが、右側にスワイプすると、4番目ではなく1番目の「詳細」レイアウトが表示されるため、すべてが順不同です。ViewFlipperを順番に設定
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bun = getIntent().getExtras();
int position = bun.getInt("position");
setContentView(fullId[position]);
viewFlipper = (ViewFlipper)findViewById(flipId[position]);
for (int i = 0; i < fullId.length; i++)
viewFlipper.addView(ViewFlipper.inflate(this, fullId[i], null));
slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);
slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);
slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);
slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);
gestureDetector = new GestureDetector(new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
};
}
private Integer[] fullId = {
R.layout.details1,
R.layout.details2,
R.layout.details3,
R.layout.details4,
R.layout.details5,
R.layout.details6,
R.layout.details7,
};
private Integer[] flipId = {
R.id.flip1,
R.id.flip2,
R.id.flip3,
R.id.flip4,
R.id.flip5,
R.id.flip6,
R.id.flip7,
};
私は私には、getChildAt [位置]を使用し、その後、addView年代に最初のViewFlipperを移入でき期待していたが、それが動作するように見えるdoens't:これは私がViewFlipperを移入するために使用しているコードです。