【发布时间】:2012-08-14 00:27:08
【问题描述】:
Strangley,我的AsyncTask 将执行onPreExecute,但不会执行doInBackground() 或onPostExecute()。
Logcat 没有错误或消息表明出现问题。
class LocationTask extends AsyncTask<String, Void, String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.d(TAG, "onPreExecute============");
}
@Override
protected String doInBackground(String... urls) {
Log.d(TAG, "doInBackground============");
Log.d(TAG, "urls[0]:" + urls[0]);
return "test";
}
@Override
protected void onPostExecute(String result){
// TODO Auto-generated method stub
super.onPostExecute(result);
Log.d(TAG, "onPostExecute============");
}
}
public class CsLocationTaskTest extends AndroidTestCase {
public void testExecute(){
LocationTask task = new LocationTask();
task.execute("my_test_url", null);
}
}
如您所见,AsycTask 没有什么特别之处,但是在测试用例和我的Activity 中都没有调用doInBackground 和onPostExecute。我不明白发生了什么,请让我了解发生了什么问题。谢谢。
【问题讨论】:
-
感谢您的回答。我会更多地搜索并尝试不同的方式。