2017-10-20 9 views
-3

こんにちは私は、私はそれが私に言及したエラーを与えないとき、ここに私のコードですがintent.getIntExtra("Position",0)Positionに変数を保存するためにswitch文たいきswitch文のエラー:ステートメントは、ケースラベルで先頭に追加されなければならない

if(intent.getIntExtra("HandyLevel",0)==1 && SharedPreferenceStuff.getLevel(getApplicationContext())>=1) //Preface 
     { 
      HandyLevel = intent.getIntExtra("HandyLevel",0); 
      switch (intent.getIntExtra("Position",0)) 
      { 
       int Positions = intent.getIntExtra("Position",0); 

       case 2: //History 
        if(intent.getStringExtra("Divider").equals("Q1History")) { 

         if(goToNextLevel) { 
          if (SharedPreferenceStuff.getSubLevel(getApplicationContext()) == 3) 
           SharedPreferenceStuff.setSubLevel(getApplicationContext(), 4); 
          localIntent = new Intent(QuestionFrame.this, LevelOne.class); 
          localIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
          startActivity(localIntent); 
          overridePendingTransition(R.anim.slide_start_from_button, R.anim.slide_to_up); 
         } 
         else Toast.makeText(getApplicationContext(),"FUCCCK",Toast.LENGTH_LONG).show(); 
        } 
        break; 
       } 
      } 

どうすればよいですか?おかげ

+0

を試してみてください? 1つのケースを持つスイッチは、複雑なif文を超えているだけではありませんか? –

+3

put 'int case = intent.getIntExtra(" Position "、0);' case 2'ステートメントの下 –

+0

はい、これは私のコード全体ではありません。 –

答えて

0

同様@Samuelロバーツは、コメントでは、あなたが移動する必要があると言う:あなたのcase 2(したがって、おそらくあなたの他の例では、あまりにも)や外部ごswitchの内部

int Positions = intent.getIntExtra("Position",0); 

のいずれか。あなたが得るエラーは、 "の中にcaseステートメントがあり、caseの中にいなければ他のステートメントは許可されません"ということです。

こちらのドキュメントを参照してください。https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

は、この情報がお役に立てば幸い!

0
if(intent.getIntExtra("HandyLevel",0)==1 && SharedPreferenceStuff.getLevel(getApplicationContext())>=1) //Preface 
    { 
     HandyLevel = intent.getIntExtra("HandyLevel",0); 
     int Positions = intent.getIntExtra("Position",0); 
     switch (intent.getIntExtra("Position",0)) 
     { 
      case 2: //History 
       if(intent.getStringExtra("Divider").equals("Q1History")) { 

        if(goToNextLevel) { 
         if (SharedPreferenceStuff.getSubLevel(getApplicationContext()) == 3) 
          SharedPreferenceStuff.setSubLevel(getApplicationContext(), 4); 
         localIntent = new Intent(QuestionFrame.this, LevelOne.class); 
         localIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivity(localIntent); 
         overridePendingTransition(R.anim.slide_start_from_button, R.anim.slide_to_up); 
        } 
        else Toast.makeText(getApplicationContext(),"FUCCCK",Toast.LENGTH_LONG).show(); 
       } 
       break; 
      } 
     } 

なぜあなたはswitch文を使用しているこの

関連する問題