2016-09-29 94 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

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