Работоспособный с катастрофой progressdialog

Кодекс ниже - то, куда ошибка прибывает из. То, что я хотел, должно поднять loginDialog1 после того, как loginRedirectCheck верно. Но вместо того, чтобы показать progressDialog , сбой приложения. Я делаю что-то не так? Как я могу зафиксировать его?Thank you.

Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        while(loginCheck){
            if(loginRedirectCheck){
                loginCheck = false;
                new Handler().post(new Runnable() {
                    @Override
                    public void run() {
                        loginDialog1.show();
                    }
                });
            }
        }
    }
};

Thread myThread = new Thread(myRunnable);
myThread.start();
0
nl ja de
это Затмение - RCP? Необходимо придерживаться Нити UI. Что "сбои приложения" означает? Применение просто не терпит крах, должно быть исключение. найдите его.
добавлено автор THarms, источник
это - затмение IDE, придерживайтесь нити ui, в этом случае относится к onCreate?
добавлено автор Sam, источник
исключение - энергия: SurfaceTexture?
добавлено автор Sam, источник

1 ответы

Я делаю что-то не так?

Да, вы создаете Укладчика в вашем новом потоке. Это заставляет его отправленный Runnables быть выполненным там, который приводит к выполнению loginDialog1.show (); в новом потоке, но я предполагаю, что это должно быть выполнено в UI-нити.

Как я могу зафиксировать его?

Создайте своего укладчика в вашей UI-нити (например, как переменная экземпляра вашего объекта, содержащего myThrad.start() ) и почта() ваше работоспособное тому укладчику вместо недавно созданного.

Править:

Я думаю в вашем случае, заключительная локальная переменная была бы прекрасна:

final Handler myHandler = new Handler();

Runnable myRunnable = new Runnable() {
 [...]
                loginCheck = false;
                myHandler.post(new Runnable() {
                    @Override
 [...]
0
добавлено
Положительная сторона, хотя это зависит немного от того, показал ли он действительно нам весь свой код или для чего еще нить..., тем не менее, я соглашаюсь, что он должен рассмотреть это.
добавлено автор Matmarbon, источник
в этом случае он мог также просто удалить Работоспособную внешнюю сторону и использовать "нового Укладчика ()...." часть.
добавлено автор THarms, источник