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>
帮助不胜感激。
答
你应该将其更改为:
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);
}
答
我认为这个问题可能是你使用的是奇语境成员变量。尝试简化到:
Intent intentgrassesShowSpeciesMain = new Intent(this,grassesShowSpeciesMain.class);
+0
'dContext'被定义为'Context dContext = grassesDoFamily.this',所以如果这是一个非常奇怪的问题 – Pelocho
你可以发布你的grassesShowSpeciesMain – codecrazer
任何错误或什么奇怪的事情发生?或者它只是在做任何事情? – Pelocho
Intent intentgrassesShowSpeciesMain = new Intent(grassDoFamily.this,grassesShowSpeciesMain.class); 你需要点活动,而不是上下文...... –