2017-07-28 34 views
-1

工作,我一直沒能找到一個解決我的問題的作品,所以在這裏它是:startActivity不是機器人

當我玩這個代碼調試器顯示達到startActivity聲明,但隨後的執行只是通過它。

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

清單:

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

幫助不勝感激。

+0

你可以發佈你的grassesShowSpeciesMain – codecrazer

+0

任何錯誤或什麼奇怪的事情發生?或者它只是在做任何事情? – Pelocho

+1

Intent intentgrassesShowSpeciesMain = new Intent(grassDoFamily.this,grassesShowSpeciesMain.class); 你需要點活動,而不是上下文...... –

回答

-1

你應該將其更改爲:

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

這是同樣的問題,因爲@Anil響應 – Pelocho

+0

爲什麼呢?不是這樣。 –

+0

確實如此。即使「familyNumber == 0」,您的代碼也會啓動活動 – Pelocho

0

我認爲這個問題可能是你使用的是奇語境成員變量。嘗試簡化到:

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

'dContext'被定義爲'Context dContext = grassesDoFamily.this',所以如果這是一個非常奇怪的問題 – Pelocho