1

imageSwitcherクラスにタイマーをかけたい。次のコードを使用して2枚の写真に対してそれを行うことができましたが、これ以上写真を追加することはできません。ImageSwitcherタイマーに写真を追加するにはどうすればよいですか?

imageSwitcher.postDelayed(new Runnable() {
            int i = 0;
            public void run() {
                imageSwitcher.setImageResource(
                    i++ % 2 == 0 ?
                        R.drawable.image1 :
                        R.drawable.mage2);
                imageSwitcher.postDelayed(this, 1000);
            }
        }, 1000);
4

1 に答える 1

1

配列に格納できます

private static final int[] imgs = {R.drawable.image1,
                        R.drawable.mage2,
                        R.drawable.image3,
                        R.drawable.mage4};

次に、インデックス変数と整数を使用してこの配列を使用し、必要に応じてドローアブルを取得します。たとえば、円のスライドを表示したいので、0 から始まり、最後に到達すると最初から開始されます。

private int index = 0;

imageSwitcher.postDelayed(new Runnable() {
            public void run() {
                imageSwitcher.setImageResource(imgs[index]);
                if(index==(imgs.length-1))
                     index = 0;
                else
                     index++;
                imageSwitcher.postDelayed(this, 1000);
            }
        }, 1000);
于 2012-10-01T07:48:05.660 に答える