startActivity不是机器人

问题描述:

工作,我一直没能找到一个解决我的问题的作品,所以在这里它是: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); 你需要点活动,而不是上下文...... –

你应该将其更改为:

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

我认为这个问题可能是你使用的是奇语境成员变量。尝试简化到:

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

'dContext'被定义为'Context dContext = grassesDoFamily.this',所以如果这是一个非常奇怪的问题 – Pelocho