我正在尝试将另一个活动中的字符串传递给此活动,然后将其发送到数组中,然后发送到列表视图中。每当我运行这个我得到“尝试在空对象引用上调用虚拟方法'android.os.Bundle android.content.Intent.getExtras()'” 看起来这个错误与第四行的'extras'包有关,但是如何在那里定义一个空对象引用呢?
@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;
}
}
这里是'PASSWORD'和'TITLE'变量在其他Activity中的定义:
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);
}
}
答案 0 :(得分:4)
当您使用Bundle将数据从一个活动传递到另一个活动时,数据将在onCreate()
内的onActivityResult()
方法中接收,而不是{{1}}内部,除非您专门实现了该数据。
检查此答案,了解如何开始其他活动以及如何将数据传递到其他活动:https://stackoverflow.com/a/20170125/1239966