【问题标题】:Launch new activity in AsyncTask in Kotlin在 Kotlin 的 AsyncTask 中启动新活动
【发布时间】:2020-08-29 00:24:25
【问题描述】:

我想在 onPostExecute 方法中使用 Kotlin 从 AsyncTask 启动一个 Activity 或刷新当前一个,但我不知道该怎么做。

我试图实现一个接口,但卡住了。

界面

 public interface inter {
        void newActivity(Activity activity);
    }

主类

override fun onPostExecute(result: String?) {
        super.onPostExecute(result)
        ..code here
        inter {
        }
}

override fun newActivity(activity: Activity?) {
            val intent = Intent(this, Activity::class.java)
            startActivity(intent)
}

【问题讨论】:

    标签: android kotlin android-intent android-asynctask


    【解决方案1】:

    只需 onPostExecute

    private class yourTask(context:Context): AsyncTask<Void, Void, Void>() {
    
         var context: Context = context;
    
        override fun onPostExecute(result: Void?) {
            super.onPostExecute(result)
            val intent = Intent(context, ChangePasswordActivity::class.java)
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
            context.startActivity(intent)
        }
    
    }
    

    开始任务为:

    yourTask(applicationContext).execute()
    

    【讨论】:

    • 我试过了,但由于上下文的原因,我得到了一个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多