我试图使用以下代码来获取result
值,但似乎从未更新。我正在startPosting()
类中检查结果:
public class PostDataThread extends AsyncTask<Void, Void, Void> {
String [] data;
Context context;
int result = 0;
public int startPosting(int type,String data[], Context c) {
this.data = data;
this.context = c;
this.execute();
return result;
}
@Override
protected Void doInBackground(Void... params) {
Connect c = new Connect();
c.start(Constant.RECEIVED_MESSAGE, data, context);
result = 444;
return null;
}
protected void onPostExecute(Integer result) {
//
}
}
result
是什么?请更清楚地解释您的问题。 - Squonkresult
的值?是在onPostExecute
之后还是你期望在调用AsyncTask
之后立即设置result
的值?别忘了AsyncTask
是异步的。 - Marvin PintoPostDataThread
类的实例,然后调用startPosting(...)
???如果是这样的话,那么对this.execute()
的调用将会启动doInBackground(...)
但立即返回。此时下一行是return result;
,很可能仍然是0
。这确实不是设计AsyncTask
子类的好方法。 - Squonk