我应该在Android Studio中的哪里实例化Class数组?

贝库

尝试运行代码时出现此错误。(为方便您查看,我跳过了其他大多数未提及我的代码行的行)

03-26 22:23:51.800 2425-2425/? E/RCPManagerService:  PackageReceiver onReceive() Failed to load meta-data, NullPointer: null
03-26 22:23:53.950 15700-15700/? E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: com.example.bilguun.pengling2, PID: 15700
                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.bilguun.pengling2/com.example.bilguun.pengling2.MainActivity}: java.lang.NullPointerException
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2436)
                                                   at at com.example.bilguun.pengling2.MainActivity.onCreate(MainActivity.java:71)

如您所见,在onCreate函数的第71行发生错误,在该行中,我试图实例化名为Fault的类,如本站点中其他问题中所述。这是代码(我之所以在外面声明的原因是,我在许多其他函数和活动中都需要这些类)

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Faults=new Fault[14];
    for(int i=0;i<15;i++){
        Faults[i]=new Fault("Unknown");
    }
}
Fault[] Faults;

这是故障类的代码。可序列化的原因是,我需要将其传递给其他活动。

 class Fault implements Serializable{
    public String fault_name="Not known";
    public int L_number=0,T_number=0;
    public String path="b";
    public Fault(String name){
        this.fault_name=name;
    }
}

我尝试了所有可能的方法,包括跟随链接和其他多种方法,但没有找到解决方案

创建对象数组时发生NullPointerException

所以我的问题是

  1. 我可以在类的外部声明一个数组,同时在OnCreate函数中实例化它吗?
  2. 除数组声明之外,是否还有其他错误可能导致这种错误。换句话说,代码的其他部分可能会导致此错误吗?
  3. 由于没有主函数,应该在哪里声明和实例化此类变量?
  4. 到目前为止,由于我已经从YouTube视频中学习了Android Studio 4天了,所以我对Java和Android仍然没有信心(因为我所知道的仅面向对象的语言是C ++)。如果您不介意,能否请您推荐有关Android应用程序开发的书,它可以为我提供系统的知识?谢谢您花时间在我的烂摊子上。
道格·史蒂文森(Doug Stevenson)

这里有一个明显的问题。您正在访问大小为14的数组中的索引为14的元素。数组是从零开始的,因此没有索引为14的元素。这14个元素的索引从0到13。数组以确保循环始终在范围内:

Faults=new Fault[14];
for(int i=0; i < Faults.length; i++){
    Faults[i]=new Fault("Unknown");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我应该在Android的哪里存储信用卡号?

我应该在android中实现哪个依赖注入

我应该在哪里修改?

我应该在哪里初始化我的Android开关小部件

我应该在哪里在 build.gradle 中添加 android 配置?

我应该在哪里声明静态实例?

我应该在我的本机git repo中检查这个android文件夹吗?

我应该在Android Studio Project中的确切位置放置.GitIgnore文件

如果没有公司,我应该在Android Studio中为“公司域”添加什么?

我应该在Android Studio中存储大量图片吗?

Gradle android:我应该在哪里放置自定义任务?

我应该在哪里保留供Android应用使用的数据?

我应该在哪里保存后端Android的配置数据

Android MVP 我应该在哪里有一个 TextWatcher

我应该在哪里实现android音频焦点更改侦听器?

我应该在 React 中的哪里保存 API 信息?

我应该在哪里使用 'use' 在 php 中?

我应该在StackNavigator中的哪里放置“ tabBarOptions”?

我应该在Prism中的哪里使用`RegisterViewWithRegion`?

我应该在哪里查看MySQL中的文章

我应该在哪里安装 Ubuntu 中的软件?

我应该在哪里刷新 SvelteKit 中的 JWT

我应该在Android Studio中使用哪个雄激素版本进行练习?

我应该在哪里注册我的DBAL类型?

我应该在哪里打印我的结果

我应该在哪里分发我的redux

我应该在哪里放置我的引导程序?

在Android SQLite中,我们也应该在onCreate()中添加新列吗?

我应该在android中录制什么格式才能在ios中播放