当前位置: 首页 > 知识库问答 >
问题:

使用字符串数组,没有错误,打开应用程序,应用程序崩溃

严朝明
2023-03-14

我正试图在Android Studio中制作一个可以“记住”我的成绩和科目的应用程序。目前,我正在开发一个允许我制作主题的系统。

编译后,没有错误,我打开应用程序,应用程序崩溃,我收到一个错误:“尝试在空对象引用上调用虚拟方法”

我认为字符串数组与此有关。

这是我的代码:

//these are declared in "public class MainActivity extends AppCompatActivity"
    LinearLayout linearLayout = findViewById(R.id.linearLayout);
    String[] subjectNames;
    int arrayCounter=-1;
    String name;

//addSubject() gets called when a button is pressed
public void addSubject (View view)  {
        EditText editSubjectName = new EditText(this);
        editSubjectName.setHint("Unesi ime predmeta");
        editSubjectName.setSingleLine(true);
        linearLayout.addView(editSubjectName);


        TextView subjectName = new TextView(this);
        subjectName.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        linearLayout.addView(subjectName);

        editSubjectName.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                        (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    name = editSubjectName.getText().toString();
                    arrayCounter++;
                    return true;
                }
                return false;
            }
        });

        subjectNames[arrayCounter] = name;
    }

提前谢谢!

共有1个答案

白越
2023-03-14

如果您没有初始化数组,请执行其中一个

java prettyprint-override">String[] subjectNames = new String[10]; // if you are sure you have a maximum of 10 subjects

如果希望它是动态的,那么可以使用

List<String> subjectNames = new ArrayList<String>(); //create an arraylist

然后当你想添加一个项目,你做

subjectNames.add(name);

这将把它添加到列表的末尾。

看看这个答案了解更多信息https://stackoverflow.com/a/13395230

 类似资料:
  • 我正试图在Android Studio中制作一个可以“记住”我的成绩和科目的应用程序。目前,我正在开发一个允许我制作主题的系统。 编译它,没有错误,我打开应用程序,应用程序崩溃,我收到一个错误:“试图调用空对象引用上的虚拟方法” 我认为字符串数组与此有关。 这是我的代码: 提前感谢!

  • 下面给出的错误 process:com.example.rahul.maptask,pid:21986 java.lang.runtimeException:无法启动活动ComponentInfo{com.example.rahul.maptask/com.example.rahul.maptask.mainactivity}:java.lang.nullpointerException:试图在A

  • 测试环境 用于运行Appium的桌面操作系统/版本:1.2.0-beta版。3(1.2.0-beta.3)节点。js版本(除非使用Appium.app | exe):移动平台/测试版本:ios模拟器iPhone 6s plus 10.2 1.从源树中提取最新代码 2.打开xcode 3.made存档文件 4.从那里获取应用程序文件。 5.openedAppium桌面应用 6.添加了所需的功能 应用

  • 我的应用程序https://github.com/amyequinn/weatherapp在终端运行npm启动时运行得很好,但是当将应用程序部署到Heroku时,它崩溃了,我找不到解决方案。错误为H10,应用程序在Get方法时崩溃,状态503.... “2020-05-08T23:13:34.132652+00:00 Heroku[router]:at=error code=h10 desc=”A

  • 应用程序由于stacktrace的StackOverflow错误而不时崩溃(见下文)。 该错误意外地出现在各种方案中。我们无法模拟它或预测它的发生。 提前谢谢你。 Stacktrace错误(缩短版):

  • 我对这个新的Facebook界面感到非常困惑,它的沙盒按钮在运行中丢失了。 在开发一个应用程序的中间,所以我在沙箱模式-你想让这个应用程序和它的所有现场功能可供大众使用吗?设置为否(我只是在开发) 我以应用程序管理员的身份登录到我的iOS设备facebook帐户,我已经正确设置了iOS和bundle ID,正确设置了FBID,但每次尝试从设备登录facebook时,我都会。。。 “应用程序未设置: