2017-07-28 2 views
-1

Ich habe nicht in der Lage gewesen, eine Lösung für mein Problem zu finden, das funktioniert, so ist es hier:startActivity arbeiten nicht in android

Wenn ich diesen Code spiele der Debugger zeigt die startActivity Anweisung erreicht ist, aber dann die Ausführung nur geht darüber hinweg.

Java-Code:

public class grassesDoFamily extends AppCompatActivity { 
    protected String TAG = "grassesDoFamily >>"; 
    private String familyName; 
    private String familyText; 
    private int  familyNumber; 
    private String familyTable; 
    private int  genusNumber; 
    private int  speciesNumber; 

    Context dContext = grassesDoFamily.this; 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.grasses_layout_start_family); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 

     Intent myIntent = getIntent(); 
     familyNumber = myIntent.getIntExtra("familyNumber", 0); 
     genusNumber = myIntent.getIntExtra("genusNumber", 0); 
     speciesNumber = myIntent.getIntExtra("speciesNumber", 0); 
     /** 
     *  Get Family data 
     */ 
     GetFamily(familyNumber); 
     /** 
     * Special case fam=5 : generic, fam=4 Plantaginaceae 
     */ 
     // Intent intentgrassesShowSpeciesMain = new Intent(dContext, grassesShowSpeciesMain.class); 

     Intent intentgrassesShowSpeciesMain = new Intent(dContext, grassesShowSpeciesMain.class); 
     /** 
     * Get genus# and species# if not Plantaginaceae 
     */ 
     if (familyNumber==5){ 

      intentgrassesShowSpeciesMain.putExtra("genusNumber", genusNumber); 
      intentgrassesShowSpeciesMain.putExtra("speciesNumber", speciesNumber); 

     } 
     if ((familyNumber==5) || (familyNumber==4)){ 


      intentgrassesShowSpeciesMain.putExtra("familyNumber", familyNumber); 
      startActivity(intentgrassesShowSpeciesMain); 
     } 

Manifest:

<activity 
    android:name="com.learningideas.grasses.grassesShowSpeciesMain" 
    android:icon="@mipmap/ic_launcher" 
    android:theme="@style/CustomActionBarTheme" 
    android:configChanges="orientation|keyboardHidden|screenSize" 
    android:label="@string/doShowSpecies" 
    android:screenOrientation="portrait" 
    android:parentActivityName="com.learningideas.grasses.grassesActivityMain"> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value="com.learningideas.grasses.grassesActivityMain" /> 
</activity> 

Hilfe sehr geschätzt.

+0

könnten Sie Ihre Gräser sendenShowSpeciesMain – codecrazer

+0

Jeder Fehler oder etwas seltsam passiert? Oder es macht einfach irgendwas? – Pelocho

+1

Absicht intentgrassesShowSpeciesMain = neue Absicht (grassDoFamily.this, greensShowSpeciesMain.class); Sie müssen auf Aktivität, nicht auf Kontext zeigen ... –

Antwort

-1

Sie sollten dies ändern:

if (familyNumber == 5) { 
    intentgrassesShowSpeciesMain.putExtra("genusNumber", genusNumber); 
    intentgrassesShowSpeciesMain.putExtra("speciesNumber", speciesNumber); 
} 
else if (familyNumber == 4) { 
    intentgrassesShowSpeciesMain.putExtra("familyNumber", familyNumber); 
} 
if (familyNumber == 5 || familyNumber == 4) { 
    startActivity(intentgrassesShowSpeciesMain); 
} 
+0

Es ist das gleiche Problem wie @Anil Antwort – Pelocho

+0

warum? es ist nicht. –

+0

Es ist in der Tat. Ihr Code wird die Aktivität auch dann starten, wenn 'familyNumber == 0' – Pelocho

0

ich glaube, das Problem könnte die ungeraden Context Membervariable sein Sie verwenden. Versuchen Sie zu vereinfachen:

Intent intentgrassesShowSpeciesMain = new Intent(this,grassesShowSpeciesMain.class); 
+0

'dContext' ist definiert als' Context dContext = grassesDoFamily.this' also wenn das das Problem ist, wäre es ein sehr merkwürdiges – Pelocho

Verwandte Themen