下面是應該執行某些操作然後調用onPostExecute事件的代碼的一部分。
出於某種原因,它不會調用它,在eclipse我可以看到,該方法被標記爲黃色(不使用方法)...
我無法理解爲什麼它的這種方式...
你知道爲什麼嗎?
謝謝!
PS:我看着一些職位在這裏並沒有發現我的解決方案...AsyncTast not calling onPostExecute
final ImageButton sync = (ImageButton) findViewById(R.id.syncChanges);
sync.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sync.setImageResource(R.drawable.none);
sync.setBackgroundResource(R.drawable.animation);
final AnimationDrawable frameAnimation = (AnimationDrawable) sync.getBackground();
frameAnimation.start();
class DownloadFilesTask extends AsyncTask<String, Void, String[]> {
protected String[] doInBackground(String...strings) {
try {
OptionScraper.run(strings[0], Integer.parseInt(strings[1]));
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return OptionScraper.GetChanges();
}
protected void onPostExecute() {
InitChangesToText();
frameAnimation.stop();
sync.setImageResource(R.drawable.sync);
}
}
new DownloadFilesTask().execute(classLetter,classNum);
}
});
當這個類是私人的,它說:非法修飾符爲本地類DonloadFilesTask;只允許抽象或最終 –