2016-09-29 91 views
-3

我有一種方法,我比較兩個字符串,但他們沒有比較正確的方式。例如,我有這樣的:字符串不比較

dropdown.setOnItemSelectedListener(new OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView adapter, View v, int i, long lng) { 

      String selectedRate = data[i]; 
      if (!data[i].equals("")) { 

       showSubQuestion(selectedRate); 
      } else { 
       selectedRate = ""; 
      } 

其中數據[i]是也和字符串,然後它繼續:

showSubQuestion(String selectedValue){ 
... 

字符串selectedValueId =了selectedValue; 如果(selectedValueId.equals( 「2459」)& & selectedValueId.equals( 「2460」)){

  surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("2"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[1].getText()); 
     } 
     if (selectedValueId.equals("2461") && selectedValueId.equals("2462")) { 

      surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("3"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[2].getText()); 
     } else { 
      surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("4"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[3].getText()); 
     } 
} 

其中選定的值是例如:2461但它不進入我的secont IF。 我在做什麼錯?

這裏是JSON的一部分:

"question_choices":[ 
{ 
"id":2459, 
"label":"10 - highly likely", 
"value":"10" 
}, 
{ 
"id":2460, 
"label":"9", 
"value":"9" 
}, 
{ 
"id":2461, 
"label":"8", 
"value":"8" 
+1

'selectedValueId'不能同時是兩個不同的值。 –

+1

你需要||代替 &&。 –

回答

3
String selectedValueId = selectedValue; 
     if (selectedValueId.equals("2459") || selectedValueId.equals("2460")) { 

      surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("2"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[1].getText()); 
     } 
     if (selectedValueId.equals("2461") || selectedValueId.equals("2462")) { 

      surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("3"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[2].getText()); 
     } else { 
      surveyArray[0].getQuestions()[i].getQuestion_order_id().equals("4"); 
      myTextViews[j].setText(surveyArray[0].getQuestions()[3].getText()); 
     } 
} 

替換此代碼&嘗試了這一點,將工作

1

你的條件是不正確的

if (selectedValueId.equals("2461") && selectedValueId.equals("2462")) 

就應該更換& &與||

您的值不能和2461 2462在同一時間

0

可能要使用||而不是& &