请帮助我是android的新手。我有异步任务,它做一些网络任务。完成后。它应该完成以前的活动。所以我给asyntask上下文,从那里我做了这个
((Activity)context).finish();
它给了我这个例外
java.lang.ClassCastException: android.app.ContextImpl cannot be cast to android.app.Activity
这是错误的做法。如果是,那么最佳做法是什么。
答案 0 :(得分:1)
((YourActivityName)context).finish();
答案 1 :(得分:0)
当您尝试强制转换Object时,Java会抛出ClassCastException 一种数据类型到另一种数据类型。
您可以添加
onBackPressed();
当活动检测到用户按下背面时调用 键。
或者只需添加
finish(); // this.finish();
或者
this.getContext().finish();
答案 2 :(得分:0)
您提到的编码方式),而不是传递Context
将Activity
对象本身传递给AsyncTask
这样做你不需要进行施法。
在Activity
你可以做
Activity mActivity = this;
然后传递mActivity
而不是context
并直接在其上调用mActivity.finish()
。