我正在尝试与 AsyncTask 相处。我的问题是我正在根据过程的输出动态构建一个 textviews 表。但后来我发现通过使用 asynctask 我可以以更有效的方式做到这一点..所以,我所做的如下:
private class DisplayReport extends AsyncTask<Void, Void, Boolean>{
protected void onPreExecute(){
//Message -- "Please wait while the Report Loads..."
}
@Override
protected Boolean doInBackground(Void... params) {
//Here i fetch the data from the procedure via a web service
//parse the result of web service and set a bool variable true or false based on whether the dataset fetched is empty or not.
}
protected void onPostExecute(Boolean value){
if(value == true){
"Please try again later!!"
}
else{
runOnUiThread(GenTable);
}
}
private Runnable GenTable = new Runnable(){
public void run(){
try {
displayReport(result); // in this method i build the table.
} catch (Exception e) {
ad.setTitle("Error..");
ad.setMessage(e.toString());
}
}
};
}
上面的异步类是我的主类中的一个内部类,它扩展了活动。这就是我执行异步任务的方式..
DisplayReport dr = new DisplayReport();
dr.execute();
现在当我调试时,我得到了"source not found" error on dr.execute()..
我尝试在网上搜索很多,但我根本找不到任何具体的东西。另外,如果我的方法不正确,请告诉我..这个问题可能看起来很傻,但我也是android和java的新手,任何帮助都会非常棒..
谢谢!