0

私のアプリケーションでは、ボタンの画像を1秒間変更しています。ボタンの画像を比較する方法。たくさん試しました。助けてください。1秒後に画像を変更すると、agianは変更されません。以下は同じです。コード-

   myTimer = new Timer();

    myTimer.schedule(new TimerTask() {  

        @Override
        public void run() {
            if(time==-1){
                onStop();
            }
            else
            runOnUiThread(new Runnable() {
                public void run() {

                    Random rand=new Random();
                    System.out.println("timer...."+time);               
                    time=time-1;
                    int num = rand.nextInt(buttonIds.length);
                    int buttonId = buttonIds[num];
                    Button bb=(Button) findViewById(buttonId);

                    if((bb.getBackground()).equals(button.getBackground()))
                    {
                     bb.setBackgroundResource(R.drawable.happy);
                     wrong++;
                     System.out.println("llllllllllll"+wrong);
                    }
                    else
                     {
                        bb.setBackgroundResource(R.drawable.whoa);
                        count++;
                        System.out.println("mmmmmm"+count);
                     }

                }
            });
        }

    },0, 1000);


}
4

1 に答える 1

1

このようにボタンを新たに取得していることを編集します

Button bb=(Button) findViewById(buttonId);

したがって、条件は常にfalseであるため、常にwhoaのままになります。


バックグラウンドリソースを設定しながらコンテンツの説明を設定してから、コンテンツの説明を比較することをお勧めします....bb.getBackground()).equals(button.getBackground()) このようなことで比較することはできません

 but1=(Button) findViewById(R.id.b1);
    but1.setBackgroundResource(R.drawable.happy);
but1.setContentDescription("happy");

if(bb.getContentDescription().equals(button.getContentDescription())
于 2013-02-10T14:56:59.580 に答える