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);

所以它总是会保持哇......因为条件总是错误的......


我建议你在设置背景资源的同时设置内容描述,然后比较内容描述......你不能通过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 回答