完成呼叫活动的AsyncTask完成时 [英] Finish the calling activity when AsyncTask completes
问题描述
我的呼叫活动:
公共类您好延伸活动{
公共无效的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屋!