android – 使用AsyncTask启动活动

android – 使用AsyncTask启动活动,第1张

概述我正在使用asyncTask来显示对话框,然后在几分钟后再启动一个新的活动. 不幸的是,任务完成前开始的活动? package com.android.grad;import android.app.Activity;import android.app.ProgressDialog;import android.os.AsyncTask;import android.widget 我正在使用asyncTask来显示对话框,然后在几分钟后再启动一个新的活动.

不幸的是,任务完成前开始的活动?

package com.androID.grad;import androID.app.Activity;import androID.app.ProgressDialog;import androID.os.AsyncTask;import androID.Widget.Toast;public class LoginTask extends AsyncTask<VoID,VoID,Boolean> {private Activity activity;private ProgressDialog pd;public LoginTask(Activity activity) {    this.activity = activity;}@OverrIDeprotected voID onPreExecute() {    pd = ProgressDialog.show(activity,"Signing in","Please wait while we are signing you in..");}@OverrIDeprotected Boolean doInBackground(VoID... arg0) {    try {        Thread.sleep(10000000);    } catch (InterruptedException e) {    }    pd.dismiss();    return true;}@OverrIDeprotected voID onPostExecute(Boolean result) {    Toast.makeText(activity,Boolean.toString(result),Toast.LENGTH_LONG).show();}

}

我从按钮点击监听器执行任务:S

private OnClickListener loginonClick = new OnClickListener() {        public voID onClick(VIEw v) {            new LoginTask(LoginActivity.this).execute();            startActivity(new Intent(LoginActivity.this,BuiltInCamera.class));        }    };

有没有办法从我的subClassAsyncTask启动活动.

解决方法 是的,您可以从AsyncTask的子类开始活动.见下文:
@OverrIDeprotected voID onPostExecute(Boolean result) {    Toast.makeText(activity,Toast.LENGTH_LONG).show();    activity.startActivity(new Intent(activity,BuiltInCamera.class));}

进行此更改后,请确保从OnClickListener中删除startActivity

总结

以上是内存溢出为你收集整理的android – 使用AsyncTask启动活动全部内容,希望文章能够帮你解决android – 使用AsyncTask启动活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存