Android TimerTask выдает RuntimeException, если Show ProgressDialog добавляется в run()

Я пытаюсь запланировать таймер, используя timertask. Я хочу заморозить пользовательский интерфейс, когда задача выполняется с использованием ProgressDialog. Я использую AsyncTask с TimerTask для достижения желаемых результатов. Но когда я добавляю код Progress Dialog в TimerTask Runnable, он вызывает исключение времени выполнения. Ниже приведен код для TimerTask, любая помощь будет оценена по достоинству. Заранее спасибо.

открытый класс MyTimerTask расширяет TimerTask { Context contxt; public MyTimerTask (Context cn) { contxt = cn;

}
public void run() { 
try { 

pd=ProgressDialog.show(contxt, "Searching For Records", "Please wait...", true, true);

 reqtype="GO";
 _getRecords=new InitTask();
 _getRecords.execute(contxt);

} catch (Exception e) { 
Log.e(">>>>>>>>>>>> Error executing MyAsyncTask: ", e.getMessage(), e); 
} 
} 
} 

person Shafi    schedule 01.01.2011    source источник


Ответы (1)


Вероятно, это происходит потому, что вы пытаетесь использовать функции графического интерфейса в потоке, отличном от графического интерфейса. Взгляните на http://developer.android.com/reference/android/app/Activity.html#runOnUiThread%28java.lang.Runnable%29 для возможного исправления.

person kellogs    schedule 01.01.2011
comment
Спасибо, Kellogs, это прекрасно работает по Божьей милости. Еще раз спасибо за помощь мне в этом. - person Shafi; 01.01.2011