Android如何停止功能?

时间:2018-04-14 14:08:05

标签: android

这是应用程序代码的一部分:

        String isNormal = recvMessage[0];
        ImageView imageView = findViewById(R.id.status_normal);

        switch (isNormal) {
            case "0":
                imageView.setImageResource(R.drawable.mygreen);
                break;
            case "1":
                countSec();
                int t = timer_sec[0];
                if (t > 5) {
                    imageView.setImageResource(R.drawable.myred);
                } else {
                    imageView.setImageResource(R.drawable.mygreen);
                }
                break;
            default:
                imageView.setImageResource(R.drawable.mywhite);
                Toast.makeText(MainActivity.this, "enter 0 or 1", Toast.LENGTH_SHORT).show();

                break;
        }
    }

countSec();是计时器功能,timer_sec [0]是其结果。 t是秒。我想在图像更改为“myred”时重置此功能。如何阻止这个?

1 个答案:

答案 0 :(得分:0)

我从这个问题中理解的是你在countSec()中启动一个计时器;然后在那里更改timer_sec [0]中的值。 问题是代码运行得很快并且在count_sec [0]变为> 5之前进入timer_sec [0]。我的建议是这样做:

        case "1":
           imageView.postDelayed(new Runnable() {
                 @Override
                 public void run() {
                      imageView.setImageResource(R.drawable.myred);       
                 }
           }, 5000);             

           imageView.setImageResource(R.drawable.mygreen);

           break;
相关问题