android - 在 AsyncTask 完成时完成调用 Activity

标签 android android-asynctask android-activity android-context

我的通话 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/

相关文章:

android - 如何将字符串添加到 JsonArray

android:theme ="@android:style/Theme.NoTitleBar.Fullscreen"适用于应用程序级别,但不适用于 Activity 级别。有什么线索吗?

java - Activity 类 {} 不存在 android 3.5.1(即时运行不再可用)

android - 如何删除 EditText 的色调颜色或将其设置为 android 中的默认样式?

android - 如何在android中管理布局

android - Nexus 4 屏幕底部 96 像素缺失 - 获取 Nexus 4 的窗口尺寸

android - 性能方面,什么更好 : AsyncTask or simply create a runnable?

java - 尝试将 Map 传递给我的 AsyncTask 但我得到一个 : Type safety: A generic array of Map<Date, String> is created for a varargs 参数

android - 当异步任务在后台线程中运行时,单击 UI 后台中的任何按钮时应用程序崩溃

android - 如何在android中完成所有 Activity 并关闭应用程序?