2017-05-09 728 views
0

由於getBooleanExtra方法有兩個值 - truefalse,如何使用getBooleanExtra編寫代碼以顯示兩個不同的字符串值?從getBooleanExtra顯示多個字符串

例如,按RadioButton1應顯示來自getBooleanExtra 1的字符串,並且按RadioButton2應顯示字符串2

我寫了類似的東西,但它沒有完成這項工作。

textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false)?getString(R.string.1):getString(R.2)); 

POST UPDATE

所以在以下情況下,使用Bundle如何將值傳遞給其他activity

final Intent intent = new Intent(MainActivity.this, AnswerActivity.class); 

    buttonCheckAnswer.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (!allAnswersChecked()) 
       intent.putExtra("KEY_ALL_CHECKED", R.string.text_not_checked); 

      else if (checkAnswers()) 
       intent.putExtra("KEY_ANSWER", R.string.Good_answer); 

      else 
       intent.putExtra("KEY_ANSWER", R.string.Wrong_answer); 

      startActivity(intent); 

     } 
    }); 
+1

您嘗試編譯它還是編譯了它?它甚至不編譯'getString(R.2)'。它沒有兩個參數true和false ..它有2個參數'name'和默認布爾值,它是true/false。使您的「KEY_ANSWER」值爲變量布爾值,然後在if子句中設置適當的值。 – miljon

+0

嗨,我沒有補足。我無法讓它工作。你能給我舉一個你建議我做什麼的例子嗎? – Ramona

+0

我糾正了我的帖子。謝謝miljon。 – Ramona

回答

1

「既然getBooleanExtra方法有兩個參數 - truefalse」 ......這是錯誤getBooleanExtra()有兩個參數:一個是您傳遞布爾值的鍵,另一個是default值。所以你不能使用單個putBooleanExtra()來傳遞兩個值。

您可以使用Bundle來傳遞多個值。請參閱this for mor info.

+0

我已更正我的信息。謝謝Kaushal。因此,如果假設我使用'if-else'聲明瞭'buttonCheckAnswer',那麼'Bundle'是在其他'activity'中顯示'Keys'的唯一方法? – Ramona

+0

我說你可以使用bundle發送多個值。所以如果你想發送兩個布爾變量,然後把它們放在一起併發送它們。 – Kaushal28

+0

謝謝。我還有一個問題給你,考沙爾。請看看我更新的帖子。 – Ramona