0

在我的应用程序中,我正在检查按钮的图像 1 秒。n 更改它。发生的是当它第一次检查 n 更改按钮的图像时。第二次它不更改图像。这是代码-

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

我认为您的 if 条件不正确,您检查背景图像是否快乐,您再次设置快乐..而不是您应该设置哇...

于 2013-01-28T12:44:23.623 回答
0

如果我是你,我会使用 boolean(isHappy) 来通知图片是否快乐,因为你不必实例化当前图像,所以它更容易和更快,也许它会解决你的问题,我不是完全确定“等于”是这样工作的,但这只是我的猜测。

无论如何,我认为您的代码有一个小错误,条件使图片总是很开心。

于 2013-01-28T23:46:19.863 回答