在Kotlin的AsyncTask中启动新活动

问题描述 投票:1回答:1

我想在onPostExecute方法中使用Kotlin从AsyncTask启动一个Activity或刷新当前的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个回答
0
投票

仅在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()
© www.soinside.com 2019 - 2024. All rights reserved.