字符串不比较
问题描述:
我有一种方法,我比较两个字符串,但他们没有比较正确的方式。例如,我有这样的:字符串不比较
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"
答
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());
}
}
替换此代码&尝试了这一点,将工作
答
你的条件是不正确的
if (selectedValueId.equals("2461") && selectedValueId.equals("2462"))
就应该更换& &与||
您的值不能和2461 2462在同一时间
答
可能要使用||而不是& &
'selectedValueId'不能同时是两个不同的值。 –
你需要||代替 &&。 –