android-新活动nullpointerexception

android-新活动nullpointerexception,第1张

概述我有一个初学者的问题.这是我的情况:我想从主要活动开始一个新活动.启动新活动的代码在单独的类文件中找到.我似乎传递了错误的参数,并且在尝试启动新活动时最终出现了nullpointerexception.当我将代码放置在主活动类文件中时,新活动可以正常启动,因此第二个活动和清单也可以.这是

我有一个初学者的问题.这是我的情况:

我想从主要活动开始一个新活动.启动新活动的代码在单独的类文件中找到.我似乎传递了错误的参数,并且在尝试启动新活动时最终出现了nullpointerexception.当我将代码放置在主活动类文件中时,新活动可以正常启动,因此第二个活动和清单也可以.这是我的代码示例:

在我的主要活动课上,我指导第二节课(这是我的主要活动.由于我不认为这与问题有关,所以我省略了休息):

Tester mytest = new Tester();mytest.test(this);

在我的第二堂课文件中(这不是活动;这是在该活动中实例化的课):

public class Tester extends Activity {     Intent myIntent;     public voID test (Context context) {               myIntent = new Intent (Intent.ACTION_VIEW);               myIntent.setClass(context, newActivity.class);               thebutton.setonClickListener(            new OnClickListener() {                  public voID onClick(VIEw v) {                     startActivity(myIntent);                }              }               ):}

当我执行单击时,在startactivity时会收到nullpointerexception.有人可以启发我吗?我确定我错误地使用了上下文.

解决方法:

活动开始于Intents.请先阅读Android Application Fundamentals,然后尝试使用Hello World应用程序:)

我了解您将不惜一切代价使用单独的Tester类;),所以我正在努力适应并帮助您.

首先,不要让您的类继承自Activity.这将无济于事,因为此调用可能没有任何有效的上下文.活动以某种方式实现了模板模式,为您提供了诸如onCreate(…),onPause(…)等关键方法,并由AndroID OS实例化.

如果仍要使用该类,则必须传递上下文.无论如何,也许您的目标是某种MVC / MVP模式结构.

public class Tester {    private Context context;    public Tester(Context context){        this.context = context;    }    public voID test () {       final Intent myIntent = new Intent(context, NewActivity.class);       //guess this comes from somewhere, hope through a findVIEwByID method       thebutton.setonClickListener(              new OnClickListener() {                  public voID onClick(VIEw v) {                     context.startActivity(myIntent);                }                }               )};    }}

从我这边来看,这是一个建议的解决方案.我仍然在这里看到的一个问题是如何在该test()方法中检索按钮.为了使它正常工作,您必须从某个VIEw类(使用vIEw.findVIEwByID(R.ID.mybutton))检索它,或者动态创建它并将其与视图的onCreate(…)关联.活动(可能使用充气机).

总结

以上是内存溢出为你收集整理的android-新活动nullpointerexception全部内容,希望文章能够帮你解决android-新活动nullpointerexception所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1082030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存