0

私の問題は、。を押してレイアウト1から他のレイアウトに移動したいということですButton。例えば:

レイアウト1setDisplayChild(R.id.layout3)から、合計4つのレイアウトからレイアウト3に移動します(動作しません)。

4つのレイアウトすべてを含むcontainer.xmlを作成しましたが、たとえば、レイアウト2からレイアウト4に直接移動するには、メソッドを2回使用する必要があります。これらのメソッドflipper.showNext()は、前後に移動するだけで、必要です。他のレイアウトに移動します。flipper.showPrevious()showNext()showPrevious()

ViewFlipperレイアウト1(または他のレイアウト)から他のレイアウト(隣接するレイアウトではない)に移動する方法はありますか、ViewFlipperまたは次、前、または最初のレイアウト(子)に移動することを知っていますか?

4

1 に答える 1

1

viewFlipperにlayout1(または他のlayots)から他のレイアウト(隣接するレイアウトではない)に移動する方法がありますか、またはフリッパーは次、前、または最初のlayout(子)に移動することを知っていますか?

はい、その親であるクラスのメソッドsetDisplayedChildを使用すると、を任意の子に移動できます。ViewAnimatorViewFlipperViewFlipper

例:setDisplayChild(R.id.layout3)を使用したlayout1から、合計4つのレイアウトからレイアウト3に移動します。(動作しません)

は、使用するレイアウトのIDではなく、要素内の目的の位置setDisplayedChildを渡す必要があります。したがって、使用するだけの子の1つにジャンプする場合は、次のようにします。ViewViewFlipperViewFlipper

viewFlipper.setDisplayedChild(2); // jumps to the third child
viewFlipper.setDisplayedChild(2); // another call like the one below will not move the ViewFlipper as it is already at the third child
viewFlipper.setDisplayedChild(1); // jumps to the second child

子をランダムに移動させたい場合は、次のViewFlipperようにすることができます。

Random mRandom = new Random();
viewFlipper.setDisplayedChild(mRandom.nextInt(4)); // 4 for 4 children
于 2012-06-30T17:19:59.717 に答える