如何在切换条件下移动到下一个案例

时间:2013-05-14 09:13:25

标签: android random switch-statement

我需要一个代码,在我的Android应用程序中使用它,我想通过所有切换条件的情况,(不是随机!!!)。我可以随机移动它如下。

public void switchingLogic(){
         Random rand = new random();
          int i = rand.nextInt(4)+1;
    switch (i) {
        case 1:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 2:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 3:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
        case 4:
            setImages(R.drawable.ic_launcher, R.drawable.ic_launcher);
            selectedCorrectImage(img1, R.raw.correct_img, R.raw.thats_correct);
            selectedWrongImage(img2, R.raw.wrong_img, R.raw.no_its_wrong);
            break;
}

但是现在我想按顺序从1到4 ......

如果条件(所选图像)在第一种情况下是正确的,我将全屏显示图像并再次回调该方法。

我刚刚遇到了CURSOR。 我可以使用它(如果是,如何?)或者有什么方法可以解决这个问题。 重要提示:我想在onCreate()中使用这种“切换逻辑方法”

2 个答案:

答案 0 :(得分:1)

如果你没有在switch-case中设置break命令,那么在执行一个case后切换不会终止并移动到下一个case。所以这段代码:

int i = 2;
switch(i) {
   case 1:
      // do something
   case 2:
      // do something
   case 3:
      // do something

}

将执行案例2和案例3.也许你可以实现一个ifclause来定义案件是否应该破坏。

答案 1 :(得分:0)

您可以尝试创建2种方法来做到这一点:

  1. 使用for循环遍历所有情况的方法
  2. 包含案例的方法

然后致电

LoopThroughAllCases();

代码看起来像这样。

    void LoopThroughAllCases()
    {
    int minCaseValue = 0; // modify to suit your case
    int maxCaseValue = 4; // modify to suit your case
    for (int i = minCaseValue ; i  <=  maxCaseValue ; i++)
                {

                    Cases(i);
                }
    }

    void Cases(int i)
            {
                switch (i)
                {
                    case 0:
                        // do something
                        break;
                      case 1:
                        // do something
                        break;
                      case 2:
                        // do something
                        break;
                      case 3:
                        // do something
                        break;
                      case 4:
                        // do something
                        break;
                      default:
                       //handle unknown value
                       break;

                }
            }