Frage

Ich habe 2 Klassen. Man wird eine grundlegende Anweisungen Bildschirm sein und auf diesem Bildschirm wird ein Menü, das Sie auf die andere Klasse gehen lassen. Die andere Klasse ist ein MapActivity. Ich glaube, das Problem ist, dass es nicht die andere Klasse zu finden. Ich habe ein paar verschiedene Arten versucht, die Absicht erklärt, die Klasse zu finden. Dies ist die letzte Sache, die ich versucht habe:

@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 ist eine Basisklasse, die MapActivity erstreckt (kann man erkennen, Ursache ein Problem?). 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 fehlgeschlagen“, „kann nicht Klasse ./Map von Methode verwiesen finden. /Main.run“und "VFY: nicht in der Lage zu lösen const-Klasse 37"

War es hilfreich?

Lösung

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

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

Andere Tipps

Haben Sie auf diese Weise versucht?

Intent intent = new Intent(Main.this, Map.class);
case R.id.home:
    startActivity(new Intent(main.this, map.class));
    return true;

Sie haben diese Zeile in Ihrem Manifest implementieren

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

Wenn Sie dies bereits getan haben Sie es falsch! Es hat im <application> </application>-Tag sein. Andernfalls werden Sie Ihre Fehler erhalten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top