0

私のアプリケーションでは、ボタンの画像を1秒間チェックしています。nを変更します。最初にnをチェックすると、ボタンの画像が変更されます。2回目は、画像が変更されません。ここにコードがあります-

myTimer.schedule(new TimerTask() {      
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                public void run() {

                    Random rand=new Random();
                    int num = rand.nextInt(buttonIds.length);
                    int buttonId = buttonIds[num];
                    Button bb=(Button) findViewById(buttonId);

                    Drawable a=bb.getBackground();

                    if(getResources().getDrawable(R.drawable.happy).equals(a))
                    {
                    bb.setBackgroundResource(R.drawable.happy);
                    }
                    else
                     {
                    bb.setBackgroundResource(R.drawable.whoa);
                     }

                }
            });
        }

    },0, 1000);

ボタンの初めての画像は幸せです(画像ファイルの名前)。ボタンの画像を変更して確認するにはどうすればよいですか?ありがとう

4

2 に答える 2

0

条件が正しくない場合、背景画像が幸せかどうかを確認していると思います。再び幸せに設定しています..代わりに、おっと設定する必要があります...

于 2013-01-28T12:44:23.623 に答える
0

私があなただったら、ブール値 (isHappy) を使用して、写真が幸せかどうかを通知します。現在の画像をインスタンス化する必要がなく、問題を解決する可能性があるため、簡単で高速です。私はそうではありません「equals」がそのように機能することは完全に確信していますが、それは私の推測にすぎません。

とにかく、あなたのコードには小さな間違いがあると思います。条件により、写真は常に幸せになります。

于 2013-01-28T23:46:19.863 に答える