首页 > 解决方案 > 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];

}

}

标签: androidandroid-activity

解决方案


你已经定义String string_array[]了两次。一次在类范围内,一次在onCreate()方法中。

对于预期的行为,删除里面的声明onCreate()

比如删除里面的这一行onCreate()

String string_array[]=new String[10];


推荐阅读