7

Ich habe 2 Klassen. Einer wird ein grundlegender Instruktionsbildschirm sein und auf diesem Bildschirm wird es ein Menü haben, das dich zu der anderen Klasse gehen lässt. Die andere Klasse ist eine MapActivity. Ich glaube, das Problem ist, dass es die andere Klasse nicht findet. Ich habe ein paar verschiedene Methoden ausprobiert, um die Absicht zu erklären, die Klasse zu finden. Dies ist die letzte Sache, die ich versucht habe: (kann das ein Problem verursachen)Android Start Aktivität auf Menüpunkt Auswahl

@Override 
public boolean onCreateOptionsMenu(Menu menu){   
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.mainmenu, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item){ 
    switch(item.getItemId()){ 
    case R.id.goToMap: 
     Intent intent = new Intent(); 
     intent.setClassName(Main.this, "Map.Class"); 
     startActivity(intent); 
     return true;    
    } 
    return false; 
} 

Es ist eine Basisklasse, die Aktivität und die Karte Klasse erweitert eine Basisklasse, die MapActivity erstreckt. Und hier ist der wichtige Teil meiner Manifest-Datei:

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Campus_Map" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Main" android:label="Instructions" ></activity> 
    <activity android:name=".Map" android:label="Map"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     </intent-filter> 
    </activity> 

</application> 

Edit: Wenn am LogCat suchen, um herauszufinden, was los war, ich bin immer einen java.lang.NoClassDefFoundError und ein paar andere Nachrichten sagen " Link der Klasse ./Map failed "," Konnte die Klasse ./Map nicht finden, die von der Methode ./Main.run referenziert wurde "und" VFY: const-class kann nicht aufgelöst werden 37 "

Antwort

15

Sie mögen diese verwenden können, und vergessen Sie nicht, beide Aktivitäten zu AndroidManifest.xml hinzuzufügen:

Intent launchNewIntent = new Intent(CurrentClass.this,SecondClass.class); 
startActivityForResult(launchNewIntent, 0); 
3

Haben Sie diesen Weg versucht?

Intent intent = new Intent(Main.this, Map.class); 
1

Sie haben diese Zeile in Ihrem Manifest

<uses-library android:name="com.google.android.maps" /> 

zu implementieren Wenn Du hast das schon gemacht, du hast es falsch gemacht! Es muss innerhalb des Tags <application> </application> sein. Andernfalls erhalten Sie Ihren Fehler

2
case R.id.home: 
    startActivity(new Intent(main.this, map.class)); 
    return true;