Strangley,我的AsyncTask
將執行onPreExecute
而不是doInBackground()
或onPostExecute()
。 Logcat沒有錯誤或消息表明出現問題。無法調用AsyncTask doInBackground()和onPostExecute
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
沒什麼特別的,但和doInBackground
被onPostExecute
沒有被調用兩種測試情況,在我Activity
。我不明白髮生了什麼,請讓我明白什麼是錯的。謝謝。
不要的TestCase使用 – 2012-08-14 00:32:52
謝謝您的回答。我會搜索更多並嘗試不同的方式。 – sunghun 2012-08-14 00:58:48