-3
У меня есть следующее сообщение об ошибке:Android Невозможно создать обработчик внутри потока, который не называется Looper.prepare()
Can't create handler inside thread that has not
called Looper.prepare()
Я также попытался запустить на UI тему и используя Looper.prepare с Опубликовать в сам отменить.
Моя структура выглядит следующим образом:
public class WebPageActivity extends Activity {
int scan_NOK = 0;
int scan_OK = 0;
Date scan_time = new Date();
Timer timer = new Timer();
// SOME CODE TO START MY VOID FUNCTION
void beginListenForData(){
workerThread = new Thread(new Runnable()
{
public void run()
{
while(!Thread.currentThread().isInterrupted() && !stopWorker)
{
// SOME CODE
if(data.length() != 40 && data.length() != 36) {
errorSound();
scan_NOK++;
} else {
scan_OK++;
}
WebPageActivity.this.runOnUiThread(new Runnable() {
public void run() {
timer.cancel(); // ERROR HERE
timer = new Timer(); // OR HERE
timer.schedule(new TimerTask() {
public void run() {
if(scan_NOK + scan_OK > 1) {
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(WebPageActivity.this);
dlgAlert.setMessage("Scans \r\nOK: " + scan_OK + "\r\nNot OK: " + scan_NOK);
dlgAlert.setTitle("Scans");
dlgAlert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
dlgAlert.setCancelable(true);
dlgAlert.create().show();
}
}
}, 2500);
}
});
}
}
}
}
}
Любые идеи?
Пожалуйста, загляните в мой код, я уже использую 'runOnUiThread'. Также попробовал это с именем 'classname.this' – Niels
@Niels, у вас есть runOnUithread, в котором у вас есть timertask, в котором вы показываете диалоговое окно с предупреждением. Теперь используйте 'runOnUiThread' только для диалогового окна оповещений – Raghunandan
. Упомянув, что я добавил дополнительный« runOnUiThread »для диалога, и он работает сейчас. Пробовал какое-то время. Спасибо! Невозможно принять тент с 10 минутами. – Niels