我试图使用startActivityForResult()从另一个活动中获取String,但每当我尝试从Intent中检索String时,我都会收到NullPointerException。这就是我所拥有的:
//To set up the Intent:
String in = mEditText.getText().toString(); //medittext is EditText that I want String from
Intent i = new Intent(this, ActivityLoaderActivity.class); //activity that started this one
i.putExtra("message", in);
setResult(1);
this.finish(); //cause I'm using startActivityForResult()
//To get the String
@Override
protected void onActivityResult( ... , Intent data) {
String s = data.getStringExtra("message"); //error here
}
我知道错误是在getStringExtra()通过调试,但我仍然无法弄清楚它为什么会崩溃。有人有什么想法吗?
答案 0 :(得分:2)
也许您可以尝试使用setResult(1, i)
并在onActivityResult()
之前检查resultCode,然后再获得额外的
if(resultCode == 1)
{
//get String extra
}
希望有所帮助