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

问题描述 投票:1回答:2

[我需要一个代码,在我的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 ...

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

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

android random switch-statement
2个回答
1
投票

如果未在开关柜中设置break命令,则在执行一种情况并移至下一种情况后,开关不会终止。所以这段代码:

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

}

将执行案例2和案例3。也许您可以实施ifclause来定义案例是否应该中断。


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;

                }
            }
© www.soinside.com 2019 - 2024. All rights reserved.