我的通话 Activity :
public class Hello extends Activity {
public void onCreate(Bundle savedInstanceState) {
MyTask mt = new MyTask(this);
mt.execute();
}
现在在 MyTask(外部类)中:
public class MyTask extends AsyncTask<Void, Void, Void> {
private Context mContext;
public MyTask(Context context) {
mContext = context;
}
//doinbackground, etc
protected void onPostExecute() {
mContext.finish();
}
如果我删除上面的 mContext.finish()
,其他事情会按预期工作。
但是如果我调用 mContext.finish()
,我会得到一个错误:The method finish() is undefined for the type Context
(Eclipse doesn't show当我写 mContext.finish() 时,这表明我错误地使用了 finish()。)
在 MyTask
完成任务后,我需要做什么来完成调用 Activity Hello
最佳答案
((Activity)mContext).finish();
将 Context
转换为 Activity
并调用其 finish()
方法是正确的方法。虽然不确定为什么要从 AsyncTask
完成 Activity
关于android - 在 AsyncTask 完成时完成调用 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623823/