Android 从AsyncTask调用finish()时发生ClassCastException异常
请帮助我,我是android新手。我有一个异步任务,它执行一些网络任务。完成之后。它应该完成上一个活动。所以我给asyntask提供了上下文,从那里我做了这个Android 从AsyncTask调用finish()时发生ClassCastException异常,android,android-asynctask,android-context,Android,Android Asynctask,Android Context,请帮助我,我是android新手。我有一个异步任务,它执行一些网络任务。完成之后。它应该完成上一个活动。所以我给asyntask提供了上下文,从那里我做了这个 ((Activity)context).finish(); java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity 这给了我一个例外 java.lang.ClassCastException: androi
((Activity)context).finish();
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
这给了我一个例外
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
这是错误的做法。如果是,那么最佳实践是什么
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
当您尝试强制转换对象时,Java会引发ClassCastException
将一种数据类型转换为另一种数据类型
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
你可以加上
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
onBackPressed();
当活动检测到用户按下背部时调用
钥匙
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
或者简单地加上
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
finish(); // this.finish();
或
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
按照前面提到的编码方式),而不是传递
上下文
将活动
对象本身传递给异步任务
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
这样做,您将不需要进行铸造
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
在活动中
您可以
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
Activity mActivity = this;
然后通过
mActivity
而不是context
,直接调用mActivity.finish()
。只要调用finish()。。。。。。
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
((YourActivityName)context).finish();