【问题标题】:Why does this throw a 'null object reference' error?为什么这会引发“空对象引用”错误?
【发布时间】:2014-07-03 00:28:49
【问题描述】:

我正在尝试将另一个活动的字符串传递给这个活动,然后将其发送到数组中,然后再发送到列表视图中。每当我运行它时,我都会得到“尝试在空对象引用上调用虚拟方法'android.os.Bundle android.content.Intent.getExtras()'” 似乎该错误与“附加”捆绑包的第四行有关,但是我在那里定义的空对象引用如何没有?

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    Bundle extras = intent.getExtras();

    switch(requestCode) {
        case ACTIVITY_EDIT:
            String title = extras.getString(add.TITLE);
            String password = extras.getString(add.PASSWORD);
            adapter.add(title);
            break;
    }


}

这是在另一个 Activity 中定义“PASSWORD”和“TITLE”变量的地方:

public void onClick(View v) {
    EditText titleBox = (EditText)findViewById(R.id.titleText);
    TITLE = titleBox.getText().toString();

    EditText passBox = (EditText)findViewById(R.id.passwdText);
    String pass = passBox.getText().toString();

    EditText confBox = (EditText)findViewById(R.id.editText3);
    String conf = confBox.getText().toString();

    if (pass.equals(conf)) {

        PASSWORD = pass;
        this.finish();

    } else {
        Toast.makeText(this, "Passwords don't match", Toast.LENGTH_SHORT);
    }

}

【问题讨论】:

    标签: java android


    【解决方案1】:

    当您使用 Bundle 将数据从一个活动传递到另一个活动时,数据是在第二个活动的 onCreate() 方法内接收的,而不是在 onActivityResult() 内接收,除非您专门实现了这一点。

    查看有关如何启动另一个活动以及如何将数据传递给另一个活动的答案:https://stackoverflow.com/a/20170125/1239966

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多