0

我在循环我的一个循环结构时遇到问题。

我从我的数据库中获取了 Question 实例,并且该实例的字段之一是 Attempts。我从我的设备中取出我的数据库并检查它,列尝试的所有字段都填充了大于 0 的整数。

int initialAttempts = 0;
initialAttempts = c.getInt(6);
q.setAttempts(initialAttempts);

在我的自定义数组适配器中:

if (mView != null) {

    int attempts =  getItem(position).getAttempts();
    int correctAnswer = getItem(position).getAnswerCorrect();
    triangle.setVisibility(View.INVISIBLE);

    if(correctAnswer == 1) { 
        triangle.setVisibility(View.VISIBLE);
    }
    else if (correctAnswer != 1 && attempts > 0) { 
        triangle.setVisibility(View.VISIBLE);
        triangle.setImageResource(R.drawable.trianglered);
    }

所以问题是它永远不会显示三角形。如果我放弃&& attempts > 0,它确实显示三角形,所以我假设错误在那里。奇怪的是,如果我在 之前将尝试初始化为 1 getItem(position).getAttempts,它仍然没有显示三角形。

有什么想法会出错吗?

4

1 回答 1

0

getItem(position).getAttempts()方法返回 0。没有其他变体。为什么它返回 0 是你的问题。更喜欢调试而不是问这样的问题。

PS。无需correctAnswer != 1else if声明中检查。相反的陈述已经被签入if并且是错误的。

于 2012-10-12T08:06:52.800 回答