Почему иногда сообщения в основной теме не выполняются? - PullRequest
0 голосов
/ 27 мая 2019

У меня есть «специальное» изображение и текст, который показывает текущий самый важный статус моего приложения.Этими двумя управляет второстепенная нить.Я публикую свои исполняемые файлы для изменения текста и изображения с помощью обработчика из основного интерфейса пользователя.

Но иногда работа не выполняется, но журнал показывает, что приложение переходит в метод.

Secound Thread

public class cWarningControl extends MainActivity implements Runnable  {
    String TAG = "cWarngin";

    @Override
    public void run() {
        while (true) {
            if (cGlobal_values.bBT_NOADAPTER) {
                mainHandler.post(new Runnable() {
                    @Override
                    public void run() {

                      Warning_image.setImageResource(R.mipmap.warnung_bt_red);
                        Warning_text.setText(R.string.warning_BT_NO_Adapter);
                    }
                });

            }else
            {
                if (cGlobal_values.bBT_GenState_on)
                {
                    if (cGlobal_values.bBT_ConState_connected)
                    {
                        mainHandler.post(new Runnable() {
                            @Override
                            public void run() {

                    Warning_image.setImageResource(R.mipmap.warnung_bt_green);

                    Warning_text.setText(R.string.warning_BT_ON_CON);
                            }
                        });

                    }
                    else {
                        mainHandler.post(new Runnable() {
                            @Override
                            public void run() {

                 Warning_image.setImageResource(R.mipmap.warnung_bt_yellow);

                 Warning_text.setText(R.string.warning_BT_ON_NOCON);
                                Log.d(TAG, "run: State on");
                            }
                        });

                    }
                }
                else
                {
                    mainHandler.post(new Runnable() {
                        @Override
                        public void run() {

                Warning_image.setImageResource(R.mipmap.warnung_bt_red);
                            Warning_text.setText(R.string.warning_BT_OFF);
                            Log.d(TAG, "run: State off");
                        }
                    });
                }
            }
            sleep(1500);
        }
    }
}

MainThread

public Handler mainHandler = new Handler(Looper.getMainLooper());

Возможно ли, что иногда работа не выполняется?Как мне от этого избавиться?

...