【发布时间】:2017-05-05 02:49:53
【问题描述】:
我很奇怪,为什么我在输入额外的布尔值后得到了错误的值。很奇怪。我知道其他帖子已经回答了关于 put extra 的问题,但是这篇帖子我不知道为什么我得到了错误的值。
这是我的第一个活动。只是简短的代码。
btnActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), ActivitySecond.class);
startActivityForResult(i, 1);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1)
{
boolean thisAnwser = getIntent().getBooleanExtra("thisAnwserBoolean",false);
Log.i("this boolean is","Answer: "+thisAnwser); //this log, i got false..
if(thisAnwser){
Log.i("Good this true","yes");
}
}
}
这是第二个活动
Intent intent = new Intent();
intent.putExtra("thisAnwserBoolean", true); // when i try log, i got true.
setResult(1,intent);
finish();
【问题讨论】:
-
你看错了
Intent。您想从onActivityResult()方法中的Intent data参数中获取额外内容。 -
是的,你是对的......谢谢先生
-
Bundle extra=data.getExtras(); boolean thisAnwser = extra.getBoolean("thisAnwserBoolean"); or boolean thisAnwser = data.getExtras().getBoolean("thisAnwserBoolean");