通过使用处理程序更新图像视图 - 如何正确使用条件语句?

Updating an image view through the use of a handler - how to correctly use a conditional statement?

我正在尝试创建一个简单的练习摩尔斯电码应用程序。我希望图像视图根据给定的摩尔斯电码序列更改颜色。我试图使用更新 UI 线程中的图像视图的处理程序来执行此操作。

问题是,即使我可以 return 一条消息,但我不确定如何使用 returned 信息来更改图像视图的颜色。我不确定我这样做是否正确(这对我来说是全新的)但我已经创建了一个发送到 UI 的包 - 我需要使用这些信息来确定图像的颜色观点应该是。我想知道是否有人有任何 ideas/advice 作为解决此问题的最佳方法?我正处于知识的边缘,并试图研究这个主题。

  //Handler which receives the message
  static Handler myHandler = new Handler() {
        public void handleMessage(Message msg) {

         Bundle bundle = msg.getData();

         String str1 = bundle.getString("dot");
         String str2 = bundle.getString("dash");

  //I think i need to use a conditional statement here

    }
 }; 


  //Logic done within the worker thread
 for (int i = 0; i < cArray.length; i++) {
        if (cArray[i] == '.') {

            msg = new Message();

            bundle = new Bundle();

            bundle.putString("dot", "dot dot dot");

            msg.setData(bundle);

            Sos.myHandler.sendMessage(msg);

            try {
                Thread.sleep(50);
            }catch(Exception e)
            {

            }

            try {
                Thread.sleep(offIntervalTime);
            }catch(Exception e)
            {

            }

        } else if(cArray[i] == ' ')
        {
            try{

                Thread.sleep(100);
            }catch(Exception e)
            {

            }

        }
        else {

            msg = new Message();

            bundle = new Bundle();

            bundle.putString("dash", "dash dash dash");

            msg.setData(bundle);

            Sos.myHandler.sendMessage(msg);

            try{

                Thread.sleep(dash);
            }catch(Exception e)
            {

            }
            try{

                Thread.sleep(offIntervalTime);
            }catch(Exception e)
            {

            }

        }
    }

由于我的建议对你有用,所以将其添加为答案。

使用 msg.what 值 set/get 并根据相同值采取行动。