2015-12-23 7 views
2

Я сделал это:Как создать тост в андроида внутри asyntask

doInBackground(String... prams){ 
    Toast.makeText(getApplicationContext(), 
          "Server too busy. Please try after sometime.", 
          Toast.LENGTH_LONG).show();} 

Получение ошибки. пожалуйста помоги.

+0

Какую ошибку вы получаете? – meneldal

+0

Какую ошибку вы получаете? –

+0

Это - 12-23 15: 45: 30.548: W/System.err (3596): java.lang.RuntimeException: не удается создать обработчик внутри потока, который не вызвал Looper.prepare() –

ответ

1

Вы не можете обновить пользовательский интерфейс внутри doInBackground.Do это, чтобы показать тост

getActivity().runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       Toast.makeText(getApplicationContext(), 
         "Server too busy. Please try after sometime.", 
         Toast.LENGTH_LONG).show(); 

      } 
     }); 

Это решит вашу проблему

+0

Почему это происходит.Тост не работает в Asyctask и работает в runOnUiThread – santoXme

+1

, потому что Toast работает по потоку Ui, а задача Async запускает новый поток, поэтому он дает исключение –

1

Вы не можете показать тост в

doInBackground(String... prams){} 

enter image description here