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

Java 调用类中未扩展活动类的另一个活动,java,android,Java,Android,大家好,我有一个班名 public class WikipediaDataSource extends NetworkDataSource{.....} 扩展到NetworkDataSource。我试着做的是从这门课上我想称之为新的活动 Intent i = new Intent(context, Obj3DView.class); startActivity(i); 我说错话了 the method of startActivity(intent) is undefined for the

大家好,我有一个班名

public class WikipediaDataSource extends NetworkDataSource{.....}
扩展到NetworkDataSource。我试着做的是从这门课上我想称之为新的活动

Intent i = new Intent(context, Obj3DView.class);
startActivity(i);
我说错话了

the method of startActivity(intent) is undefined for the type WikipediaDataSource 
关于这个问题我读了很多书。。发生这种情况是因为此类不扩展活动类

我试着跟随别人的解决方案。但这对我的案子不起作用

请帮忙

如果这条线有效:

Intent i = new Intent(context, Obj3DView.class);
那么您已经可以访问上下文,只需使用:

context.startActivity(i);
因为是上下文类的方法


实际上,行intent i=newintentcontext,Obj3DView.class;有错误

开发人员通常在构造函数中传递上下文:

public class WikipediaDataSource extends NetworkDataSource {
    Context context;

    public WikipediaDataSource (Context ctx) {
        ...
        context = ctx;
    }
    ...
}
现在,您的代码应该可以工作了。

如果这一行可以工作:

Intent i = new Intent(context, Obj3DView.class);
那么您已经可以访问上下文,只需使用:

context.startActivity(i);
因为是上下文类的方法


实际上,行intent i=newintentcontext,Obj3DView.class;有错误

开发人员通常在构造函数中传递上下文:

public class WikipediaDataSource extends NetworkDataSource {
    Context context;

    public WikipediaDataSource (Context ctx) {
        ...
        context = ctx;
    }
    ...
}

现在您的代码应该可以工作了。

在非活动类中:

private Activity activity;

public non_activity_class(Activity act) {

        activity=act;

}
.....`enter code here`
然后当你想开始一项新的活动

Intent in = new Intent("Pakege.NewActivity");
// NewActivity = what you write in your Manifest            

activity.startActivity(in);
在activity类中,调用构造函数

non_activity_class(this);

我希望它能有所帮助。

在非活动类:

private Activity activity;

public non_activity_class(Activity act) {

        activity=act;

}
.....`enter code here`
然后当你想开始一项新的活动

Intent in = new Intent("Pakege.NewActivity");
// NewActivity = what you write in your Manifest            

activity.startActivity(in);
在activity类中,调用构造函数

non_activity_class(this);

我希望它能有所帮助。

实际上,行intent I=newintentcontext,Obj3DView.class;有错误。我应该在哪里声明上下文?我照你说的做了。在我称为wikipedia类的主要活动中,它出现了错误,因为我调用该类的方式如下-->NetworkDataSource wikipedia=new WikipediaDataSource this.getResources;来源:putwiki,维基百科;后来我通过为主活动和上下文添加构造函数进行了更改;public MainActivityContext ctx{this.context=ctx;}并编辑调用代码,如NetworkDataSource wikipedia=new WikipediaDataSourcethis.getResources,this.context;来源:putwiki,维基百科;应用程序强制关闭我所做的是Intent i=newintentcontext,Obj3DView.class;i、 setFlagsInt.FLAG_活动_新任务;调用的是use NetworkDataSource wikipedia=new WikipediaDataSourcethis.getResources,this.getBaseContext;来源:putwiki,维基百科;问题解决了!感谢上下文。startActivityi;实际上,行intent i=newintentcontext,Obj3DView.class;有错误。我应该在哪里声明上下文?我照你说的做了。在我称为wikipedia类的主要活动中,它出现了错误,因为我调用该类的方式如下-->NetworkDataSource wikipedia=new WikipediaDataSource this.getResources;来源:putwiki,维基百科;后来我通过为主活动和上下文添加构造函数进行了更改;public MainActivityContext ctx{this.context=ctx;}并编辑调用代码,如NetworkDataSource wikipedia=new WikipediaDataSourcethis.getResources,this.context;来源:putwiki,维基百科;应用程序强制关闭我所做的是Intent i=newintentcontext,Obj3DView.class;i、 setFlagsInt.FLAG_活动_新任务;调用的是use NetworkDataSource wikipedia=new WikipediaDataSourcethis.getResources,this.getBaseContext;来源:putwiki,维基百科;问题解决了!感谢上下文。startActivityi;