在类中调用另一个未扩展Activity类的活动

Ali*_*mli 1 java android

大家好我有一个班级名称

public class WikipediaDataSource extends NetworkDataSource{.....}
Run Code Online (Sandbox Code Playgroud)

它扩展到NetworkDataSource.我试图做的是从这堂课我想称之为新的活动......

Intent i = new Intent(context, Obj3DView.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

我有错误说

the method of startActivity(intent) is undefined for the type WikipediaDataSource 
Run Code Online (Sandbox Code Playgroud)

我在这个问题上读了很多..它发生了,因为这个类没有扩展活动clas.

我试着跟随别人的解决方案.但它对我的情况不起作用.

请帮忙!:)

Sam*_*Sam 8

如果这条线有效:

Intent i = new Intent(context, Obj3DView.class);
Run Code Online (Sandbox Code Playgroud)

然后你已经可以访问Context了,只需使用:

context.startActivity(i);
Run Code Online (Sandbox Code Playgroud)

因为startActivity()是Context类的方法.


实际上行意图i = new Intent(context,Obj3DView.class); 得到了错误.

通常开发人员在构造函数中传递Context:

public class WikipediaDataSource extends NetworkDataSource {
    Context context;

    public WikipediaDataSource (Context ctx) {
        ...
        context = ctx;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

现在你的代码应该工作了.