字符串不比较

时间:2016-09-29 11:36:38

标签: android json string compare

我有一个方法,我比较两个字符串,但他们不比较正确的方法。例如,我有这个:

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 = "";
            }

其中data [i]也是字符串,然后继续:

showSubQuestion(String selectedValue){
...

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());
        } 
}

其中所选值为ex: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"

3 个答案:

答案 0 :(得分: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 :(得分:1)

您的条件不正确

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

你应该更换&&与||

您的价值不能同时为2461和2462

答案 2 :(得分:0)

可能你想用||而不是&&