如何从if if else语句重新运行代码

时间:2014-06-07 08:34:20

标签: android

我有4个带答案的按钮,想要消除其中一个按钮。我有一种随机选择按钮的方法,我使用if语句来确定所选按钮是否实际上是实际答案,因为我不想删除该按钮。我遇到的问题是该按钮被选中的概率为1/4,因此如果选择它,我希望该过程重新开始,直到if条件为假。

    private int[] myInt;
    public static final Random rgenerator = new Random();
public void onClickEliminate(View view) {

    Resources res = getResources();
    myInt = res.getIntArray(R.array.ansArray);
    int ans = myInt[rgenerator.nextInt(myInt.length)];

    Button button = (Button) findViewById(ans);
    CharSequence message = button.getText().toString();

    TextView textview = (TextView) findViewById(R.id.correct);
    CharSequence answer = textview.getText().toString();

    if (message.equals(answer)) {
    // Here I need the above process to run again
        Log.i(LOGTAG, "Keep this button");
    } else { 
        button.setVisibility(View.GONE);
        Log.i(LOGTAG, "Button gone");
    }
}

我意识到这需要在后台线程上运行,但我现在只关注基本功能。有没有人可以提供帮助。亲切的问候,德里克

ps:我已经尝试过使用循环,但它们无效或无限。我认为通过使用Random,“message”的值应该在某个阶段发生变化。

1 个答案:

答案 0 :(得分:0)

试试这个:

boolean myprocess = true;

while(myprocess){
    if (message.equals(answer)) {
       // Here I need the above process to run again
       Log.i(LOGTAG, "Keep this button");
   } else { 
        myprocess = false;
        button.setVisibility(View.GONE);
        Log.i(LOGTAG, "Button gone");
   }
}