如果在run()中添加Show ProgressDialog,Android TimerTask会抛出RuntimeException

时间:2011-01-01 09:53:50

标签: android android-asynctask progressdialog timertask

我正在尝试使用timertask安排计时器。我想在使用ProgressDialog运行任务时冻结UI。我正在使用带有TimerTask的AsyncTask来实现所需的结果。但是当我将Progress Dialog代码添加到TimerTask Runnable时,它会抛出Runtime Exception。下面是TimerTask的代码,任何帮助将不胜感激。提前谢谢。

public class MyTimerTask扩展TimerTask {     上下文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); 
} 
} 
} 

1 个答案:

答案 0 :(得分:0)

这可能是因为您尝试在nonGUI线程中使用GUI功能。请查看http://developer.android.com/reference/android/app/Activity.html#runOnUiThread%28java.lang.Runnable%29以获得可能的修复方法。