7

Mam 2 klasy. Jeden będzie podstawowym ekranem instrukcji, a na tym ekranie będzie menu, które pozwoli ci przejść do drugiej klasy. Druga klasa to MapActivity. Uważam, że problem polega na tym, że nie znajduje on drugiej klasy. Wypróbowałem kilka różnych sposobów deklarowania zamiaru znalezienia klasy. Jest to najnowsza rzecz Próbowałem: (? Może to powodować problemy)Aktywność uruchamiania Androida w menu Wybór pozycji

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

Jego podstawowa klasa, która rozciąga się aktywny i klasa mapa jest podstawową klasą, która rozciąga MapActivity. I tu jest ważną częścią mojego pliku manifestu:

<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: Patrząc na LogCat aby dowiedzieć się, co się dzieje, Dostaję java.lang.NoClassDefFoundError i kilka innych wiadomości powiedzenie " Link klasy ./Map failed "," Nie można znaleźć klasy ./Map, do której odwołuje się metoda ./Main.run "i" VFY: niezdolny do rozstrzygnięcia const-class 37 "

Odpowiedz

15

można wykorzystywać w ten sposób i nie zapomnij dodać obie czynności do AndroidManifest.xml:

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

Czy próbowałeś w ten sposób?

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

Trzeba wdrożyć tę linię do swojego manifestu

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

If zrobiłeś to już zrobiłeś źle! Musi znajdować się w tagu <application> </application>. W przeciwnym razie pojawi się Twój błąd:

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