2017-10-20 6 views
-3

Hallo ich eine switch-Anweisung haben, möchte ich jedoch den intent.getIntExtra("Position",0) Wert Position Variable speichern, wenn ich es mir geben die erwähnten Fehler, hier mein Code istswitch-Anweisung Fehler: Statement muss mit case-Label vorangestellt werden

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; 
       } 
      } 

Was soll ich tun? Dank

+0

Warum sind Sie eine switch-Anweisung? Ist ein Switch mit einem Fall nicht einfach eine zu komplizierte if-Anweisung? –

+3

put 'int Positionen = intent.getIntExtra (" Position ", 0);' unter der 'case 2' Anweisung –

+0

ja ist es, aber das ist nicht ganz mein Code, ich kopiere nur ein Stück davon :) @Ryry –

Antwort

0

Wie @Samuel Roberts sagt in den Kommentaren, müssen Sie bewegen:

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

entweder in Ihrem case 2 (und damit möglicherweise in Ihren anderen Fällen auch) oder außerhalb Ihres switch. Der Fehler, den Sie erhalten, ist, dass Sie nur eine case Anweisung innerhalb einer switch haben können, andere Anweisungen sind nicht erlaubt, ohne innerhalb einer case zu sein.

Bitte lesen Sie die Dokumentation hier: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

hoffe, das hilft!

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; 
      } 
     } 

Versuchen Sie, diese

Verwandte Themen