2017-05-05 34 views
1

我只是很奇怪,爲什麼在把額外的布爾值之後我得到了錯誤的值。很奇怪。我知道其他職位已經回答關於把額外的,但這個職位,我不知道爲什麼我得到了錯誤的價值。把額外的boolean放在android中給出錯誤的值

這是我的第一個活動。只需簡短的代碼。

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(); 
+0

您正在尋找在錯誤的'Intent'。你想從'onActivityResult()'方法中的'Intent data'參數中獲得額外的內容。 –

+0

是的,你是正確的..謝謝先生 –

+0

'Bundle extra = data.getExtras(); boolean thisAnwser = extra.getBoolean(「thisAnwserBoolean」); 或 布爾thisAnwser = data.getExtras()getBoolean(「thisAnwserBoolean」);' –

回答

1
boolean thisAnswer = getIntent().getExtras().getBoolean("thisAnwserBoolean"); 

要添加false,所以你總是會得到false。取下false

+0

我也試着像這樣的,同樣仍然有假 –

+1

謝謝,但我已經有了答案,這一個 '捆綁額外=數據.getExtras(); boolean thisAnwser = extra.getBoolean(「thisAnwserBoolean」); or boolean thisAnwser = data.getExtras()。getBoolean(「thisAnwserBoolean」);' –

+0

很好,你解決了它。 –

1

試試這個:

Boolean yourBool = getIntent().getExtras().getBoolean("yourBoolName"); 
+0

謝謝,但我已經得到了答案..這一個'Bundle extra = data.getExtras(); boolean thisAnwser = extra.getBoolean(「thisAnwserBoolean」); or boolean thisAnwser = data.getExtras()。getBoolean(「thisAnwserBoolean」);'' –