我对编程非常陌生,我已经像这样扩展了AsynTask
类:
private class HttpCalls extends AsyncTask<Void,Void,JSONObject>
我已经覆盖了这样的方法:
protected JSONObject doInBackground(Void... voids) {
. . .
return jsonObject;
}
但是当我致电new HttpCalls().execute()
时,我希望返回类型为JSONObject
,但我得到的是:
AsyncTask<Void,Void,JSONObject>
如何将其更改为JSONObject
。提前谢谢。
答案 0 :(得分:1)
这样做
JSONObject j = new HttpCalls().execute();
实际上不会返回JSONObject
。它将返回AsyncTask
本身。
您应该在onPostExecute()
@Override
protected void onPostExecute(JSONObject result) {
super.onPostExecute(result);
// Do some stuffs
}
答案 1 :(得分:1)
class YouClass {
public JSONObject result;
private class HttpCalls extends AsyncTask<Void,Void,JSONObject>
{
@Override
protected void onPostExecute(JSONObject result) {
super.onPostExecute(result);
YouClass.result = result;
} } }