android - Android Studio onStop() 中的一个数组
问题描述
为什么程序会在“String temp_str = string_array[1]”处崩溃?Logcat:java.lang.NullPointerException:尝试从空数组读取。
public class MainActivity extends AppCompatActivity {
public String string_array[];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String string_array[]=new String[10];
string_array[1]="word1";
string_array[2]="word2";
string_array[3]="word3";
}
@Override
protected void onStop(){
super.onStop();
String temp_str = string_array[1];
}
}
解决方案
你已经定义String string_array[]
了两次。一次在类范围内,一次在onCreate()
方法中。
对于预期的行为,删除里面的声明onCreate()
比如删除里面的这一行onCreate()
String string_array[]=new String[10];
推荐阅读
- three.js - (react-three-fiber) 我想导入一个 3D 模型,然后在上面加载一个图像
- html - HTML 网格布局模板区域 2/3
- c++ - C++ 从文件读取和输出的宏
- python - 如何使用 DRF 制作 API 来接受和验证 JWT?
- java - 在 EJB 应用程序服务器内存中维护用户数据
- javascript - ReferenceError: $ is not defined 尽管 jQuery 已正确初始化
- python - NameError:未定义名称“MyModel”。为什么?
- google-sheets - 重新排序表中的数据,不包括某些列中具有空白单元格的行
- algorithm - 无向图 | 强盗能到达神奇的出口还是警察能抓住他们?
- postgresql - 无法删除表用户 - “用户”处或附近的语法错误 - 未知原因