跨方法传递和递增Java变量

时间:2013-12-15 14:10:21

标签: java android variables int increment

编辑:我将setChoice(i++)更改为setChoice(++i)。它有效。

我想制作拖放活动,将三个TextView加载到三个ImageViews,如下所示:http://i.imgur.com/dsphSFO.png。我想制作5个级别的文本更改,图片不会。

所以我的活动有一个主方法(onCreate),onLongClickListeneronDragListener,一个设置三个TextViews(setChoice(int i))的方法,以及一个方法检查TextViews的值(checkAll)。

public class中,我声明了一个2d字符串[],choice和一个int i,以及TextViews和ImageViews。

int i就是这个问题的内容。在onCreate我初始化所有内容并且:

    i = 0;
    setChoice(i);

setChoice检查i的值,如果它小于5,它会随机地将TextViews与1,2,3匹配,并设置来自2d []的文本:

    int num = (int)(Math.random()*3);
    tvOne.setText(choice[i][num]);

    int num2 = (int)(Math.random()*3);
    if(!(num == num2)){
        tvTwo.setText(choice[i][num2]);
    }else{
        do{
            num2 = (int)(Math.random()*3);
        }while(num == num2); 
        tvTwo.setText(choice[i][num2]);
    }

然后return

此时,TextViews填充choice[0][],用户应将“Truck”,“Helicopter”和“Boat”等字拖到图像上。每个onDrag都将TextView字符串与choice[][]中的字符串进行比较,我得到这样的结果:

String choiceOne = choice[i][0];

如果字符串匹配,则TextView文本将更改为“更正”。每次将TextView更改为“更正”时,我都会调用checkAll

checkAll将所有三个TextView与字符串“Correct”进行比较。如果不是全部匹配,则返回,否则我想调用setChoice(i++)并从choice[][]加载下一行(即choice[1][])。

我想我从i传来的checkAll()(应该高一个)不会增加,因为TextViews再次被chioce[0][]填充。

我做错了什么?

0 个答案:

没有答案