完成呼叫活动的AsyncTask完成时 [英] Finish the calling activity when AsyncTask completes

查看:122
本文介绍了完成呼叫活动的AsyncTask完成时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的呼叫活动:

 公共类您好延伸活动{

公共无效的onCreate(包savedInstanceState){

    MyTask的MT =新MyTask的(这一点);
    mt.execute();
}
 

现在在MyTask的(外部类):

 公共类MyTask的扩展AsyncTask的<虚空,虚空,虚空> {
私人语境mContext;

公共MyTask的(上下文的背景下){

    mContext =背景;
}

// doinbackground等

    保护无效onPostExecute(){
    mContext.finish();

}
 

其他的事情是否按预期工作,如果我删除 mContext.finish()上方。
但是,如果我打电话 mContext.finish(),我发现了一个错误:的方法完成()是未定义的类型上下文(Eclipse不表明完成()当我写mContext。这样建议我使用面漆()错误。)

什么我需要做的,做完调用活动您好 MyTask的完成任务

解决方案

 ((活动)mContext).finish();
 

将是正确的方式投上下文活动并调用其完成()方法。不知道为什么你想要完成的活动的AsyncTask 虽然

My calling activity:

public class Hello extends Activity {  

public void onCreate(Bundle savedInstanceState) {

    MyTask mt = new MyTask(this);
    mt.execute();
}

Now In MyTask (an external class):

public class MyTask extends AsyncTask<Void, Void, Void> {
private Context mContext;

public MyTask(Context context) {

    mContext = context;
}  

//doinbackground, etc

    protected void onPostExecute() {
    mContext.finish();

}

Other things are working as expected if I remove mContext.finish() above.
But if I'm calling mContext.finish() , I'm getting an error: The method finish() is undefined for the type Context (Eclipse doesn't show finish() when I write mContext. so that suggests I'm using finish() wrongly.)

What do I need to do to finish the calling activity Hello after MyTask completes the task

解决方案

((Activity)mContext).finish();

Would be the correct way to cast a Context to an Activity and call its finish() method. Not sure why you'd want to finish an Activity from an AsyncTask though

这篇关于完成呼叫活动的AsyncTask完成时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆