首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我的if语句在我的应用程序中不工作

我的if语句在我的应用程序中不工作
EN

Stack Overflow用户
提问于 2015-02-02 19:12:38
回答 2查看 72关注 0票数 0

在我的示例代码中,我遇到了问题。我想检查所有的if语句,但它只运行最后的if语句(它只运行第一个和最后一个if).and,最后我想显示a1-a10。但它不起作用。

这里:我将我的问题id(qid)与我的unit.and中的第一个问题进行比较,检查用户select.then显示的条目,然后添加我的问题id (qid)。

代码语言:javascript
代码运行次数:0
运行
复制
    if (qid == unitid) {
        if (rda.isChecked()) {
            a1 = rda.getText().toString();
        }
        if (rdb.isChecked()) {
            a1 = rdb.getText().toString();
        }
        if (rdc.isChecked()) {
            a1 = rdc.getText().toString();
        }
        if (rdd.isChecked()) {
            a1 = rdd.getText().toString();
        }
    }
    currentQ = quesList.get(qid);

    setQuestionView();

qid++;

然后:我对下一个问题再做一次这个过程。

代码语言:javascript
代码运行次数:0
运行
复制
if (qid < unitid + 10) {
{


grp.clearCheck();
currentQ = quesList.get(qid);
setQuestionView();

if (qid == unitid + 1) {
    qid++;
    if (rda.isChecked()) {
        a2 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a2 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a2 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a2 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 2) {
    qid++;
    if (rda.isChecked()) {
        a3 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a3 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a3 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a3 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 3) {
    if (rda.isChecked()) {
        a4 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a4 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a4 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a4 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 4) {
    if (rda.isChecked()) {
        a5 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a5 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a5 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a5 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 5) {
    if (rda.isChecked()) {
        a6 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a6 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a6 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a6 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 6) {
    if (rda.isChecked()) {
        a7 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a7 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a7 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a7 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 7) {
    if (rda.isChecked()) {
        a8 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a8 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a8 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a8 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 8) {
    if (rda.isChecked()) {
        a9 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a9 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a9 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a9 = rdd.getText().toString();
    }
}


currentQ = quesList.get(qid);
setQuestionView();
if (qid == unitid + 9) {
    if (rda.isChecked()) {
        a10 = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a10 = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a10 = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a10 = rdd.getText().toString();
    }
}

但它只显示第一个和最后一个if。它不会运行另一个if语句。

EN

回答 2

Stack Overflow用户

发布于 2015-02-02 19:23:14

如果是字符串,则应进行如下比较:

代码语言:javascript
代码运行次数:0
运行
复制
if(qid.eqlualsIgnoreCase(unitId)){
//code
}
票数 0
EN

Stack Overflow用户

发布于 2015-02-02 19:29:38

正如你所说的,它是字符串,那么你的逻辑是错误的,qid应该是一个整数类型。

代码语言:javascript
代码运行次数:0
运行
复制
if (qid < unitid + 10) {
 for(int i=0; i<10; i++)
 grp.clearCheck();
 currentQ = quesList.get(qid);
 setQuestionView();

 if (qid == unitid + ++i) //if qid is 1 or if qid initialized to 0 put i instead of ++i  
 {
    qid++;
    if (rda.isChecked()) {
        a[i] = rda.getText().toString();
    }
    if (rdb.isChecked()) {
        a[i] = rdb.getText().toString();
    }
    if (rdc.isChecked()) {
        a[i] = rdc.getText().toString();
    }
    if (rdd.isChecked()) {
        a[i] = rdd.getText().toString();
    }
}
currentQ = quesList.get(qid);

setQuestionView();

这只是一个例子,你可以这样做,但你需要创建数组,并必须修改许多其他的东西。并且您在if中使用的应该是整数类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28276462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档