1

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

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() 中使用这个“切换逻辑方法”

4

2 回答 2

1

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

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

}

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

于 2013-05-14T09:29:02.353 回答
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;

                }
            }
于 2019-12-11T01:40:17.720 回答