2017-07-28 3 views
-1

Je n'ai pas été en mesure de trouver une solution à mon problème qui fonctionne, si elle est ici:startActivity ne fonctionne pas dans Android

Quand je joue ce code, le débogueur montre l'instruction startActivity est atteinte, mais l'exécution juste passe dessus.

code Java:

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> 

aide grandement appréciée.

+0

pourrait vous envoyer votre grassesShowSpeciesMain – codecrazer

+0

Toute erreur ou quelque chose d'étrange se produit? Ou c'est juste faire quelque chose? – Pelocho

+1

Intention intentgrassesShowSpeciesMain = nouvelle intention (grassDoFamily.this, grassesShowSpeciesMain.class); Vous devez pointer Activité, pas Contexte ... –

Répondre

-1

Vous devriez changer cela:

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

Ce problème est le même que la réponse @Anil – Pelocho

+0

pourquoi? ce n'est pas. –

+0

C'est en effet. Votre code va lancer l'activité même si 'familyNumber == 0' – Pelocho

0

Je pense que le problème pourrait être la variable étrange membre de contexte que vous utilisez. Simplifiez à:

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

'dContext' est défini comme' Context dContext = grassesDoFamily.this', donc si c'est le problème, ce serait très étrange – Pelocho