是否可以获取doInBackground() - 方法的返回值?
JSONArray response = new SupportFunctions.executeURLWithResponse().execute(url);
它告诉我:
Description Resource Path Location Type
Type mismatch: cannot convert from AsyncTask<String,Void,JSONArray> to JSONArray ContactFunctions.java /BuddyCheck/src/com/pthuermer/buddycheck line 138 Java Problem
这样的东西?
答案 0 :(得分:1)
是否可以获取doInBackground() - 方法的返回值?
不是你想要的方式。
您可以调用get()
方法来阻止当前线程并等待异步工作完成。这通常不是你想要的 - 你特意希望异步完成工作(否则,为什么要AsyncTask
?)。
将需要JSONArray
响应的代码移动到onPostExecute()
本身或移动到onPostExecute()
将执行的其他方法。
答案 1 :(得分:0)
您可以使响应成为类或全局变量,然后在异步任务完成时设置变量。你应该做的大部分内容应该是你对onPostExecute的重写。