android开发分享我可以在其他课程中创建活动的对象吗?

我已经在mainactivity中定义了一个函数,现在我想要访问我的app中的另一个类。我已经创建了一个mainactivity的对象,通过使用该对象我已经调用了函数。它不显示任何错误,但它不会执行每一次尝试执行应用程序崩溃? 任何解决方案

    活动A应该有一个变量

    static ActivityA activityA; 

    在onCreate状态下:

     activityA = this; 

    并添加这个方法:

     public static ActivityA getInstance(){ return activityA; } 

    在活动B中,打电话

     ActivityA.getInstance().myFunction(); //call myFunction using activityA 

    您不能只使用以下命令创建活动的对象:

     MyActivity activity = new MyActivity(); 

    就像使用普通的Java类一样。 Android中的所有活动都必须经历活动生命周期,以便它们具有附加的有效上下文。

    通过将Activity作为一个普通的Java类来处理,最终会得到一个null上下文。 由于Activity中的大多数方法都是在Context上调用的,所以会得到一个空指针异常,这就是为什么你的应用程序崩溃了。

    相反,将所有需要从其他类中调用的方法移动到一个Utility类中,该类在其构造函数中接受有效的上下文,然后在方法中使用该上下文来完成工作。

      以上就是android开发分享我可以在其他课程中创建活动的对象吗?相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/524062.html

      (0)
      上一篇 2020年12月13日
      下一篇 2020年12月13日

      精彩推荐