Опитвам се да се справя с AsyncTask.. какъв е моят проблем, че изграждах таблица с текстови изгледи динамично, въз основа на изхода от процедура.. Но тогава реших, че с помощта на 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());
}
}
};
}
горният асинхронен клас е вътрешен клас в моя основен клас, който разширява дейността. и ето как изпълнявам asynctask..
DisplayReport dr = new DisplayReport();
dr.execute();
сега, когато отстранявам грешки, получавам "source not found" error on dr.execute()..
Опитах да търся много в мрежата, но просто не мога да намеря нищо конкретно. Освен това, моля, уведомете ме, ако подходът ми е неправилен.. този въпрос може да изглежда много глупав, но аз съм нов в android и java също и всяка помощ ще бъде наистина страхотна..
Благодаря!