【发布时间】:2015-04-12 13:46:03
【问题描述】:
我知道这个问题之前已经回答过好几次了,我已经阅读了其中的大部分内容,但我不明白为什么它们不适合我。
我正在构建一种 Webcrawler,因此我有一个 Asynctask,可以将 HTML 代码解析为我想要的一个类中的变量。
我知道要启动 Asynctask vie OnClick 这不是问题,但我想在 Asynctask 解析 HTML 代码后启动不同的 Activity。
由于它是一个 Asynctask,我认为最好在它的 OnPostExecute 中启动 Activity。
我的代码非常简单和基本,但我不知道为什么我会遇到问题。
@Override
protected void onPostExecute(String result){
if(dialog.isShowing()){
dialog.dismiss();
}
startActivity(new Intent(context, DetailView.class));
}
上下文是一个变量,我在其中拥有 MainActivity 的上下文,并且在 Asynctask 中的不同点对我来说非常适合创建 Toast。
DetailView.class 是我想要启动的 Activity,它可以在 MainActivity 上正常工作,但在这个地方不行。
问题是编译器告诉我他期望 android.app.Activity 而实际的参数是“new Intent(context, DetailView.class)”
对于这样一个简单且已经经常回答的问题,我很抱歉,但我不知道如何让它发挥作用。
感谢您的任何答复。
【问题讨论】:
-
你的 AsyncTask 是一个内部类吗?外部类是否扩展了 Activity?
-
我认为,您正在使用
this上下文。您是否尝试将其替换为getBaseContext()或MyActivity.this? -
它会崩溃吗?什么错误?还发布您的整个代码和 logcat
标签: java android android-asynctask start-activity