java Intent onPostExecute()异步任务
我在一个内部类中运行一个AsyncTask
,一旦在onPostExecute()
中完成,我想使用意图将值传递给另一个活动,但是我有两个错误,我不确定如何修复
错误出现在RESULT_OK
的setResult()
行和finish()
行,说明这两个动作不能发生在活动之外。我如何在“AsyncTask”的onPostExecute中使用此意图
代码:
protected void onPostExecute(Void result)
{
// TODO Auto-generated method stub
super.onPostExecute(result);
Intent intent = new Intent();
intent.putExtra("jobs", jobStatus);
intent.putExtra("requestsSent", requests);
setResult(RESULT_OK, intent);
finish();
}
# 1 楼答案
setResult
和finish()
是活动类的方法。同样,您也需要活动上下文http://developer.android.com/reference/android/app/Activity.html
现在将活动上下文传递给AsyncTask的构造函数
然后
如果AsyncTask是活动的内部类,则可以使用
ActivityName.this
# 2 楼答案
对于finish方法,您需要使用活动类的上下文,如下所示:
活动类上存在结果_OK,因此您需要:
因此,您的代码必须如下所示: