7

J'ai 2 cours. L'un sera un écran d'instructions de base et sur cet écran il aura un menu qui vous permettra d'aller à l'autre classe. L'autre classe est une MapActivity. Je crois que le problème est qu'il ne trouve pas l'autre classe. J'ai essayé plusieurs façons de déclarer l'intention de trouver la classe. Ceci est la dernière chose que j'ai essayé: (cela peut-il poser un problème)Android démarrer l'activité sur le menu Sélection d'articles

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

Sa classe de base qui étend l'activité et la classe de carte est une classe de base qui s'étend MapActivity. Et voici la partie importante de mon dossier Manifest:

<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: En regardant le LogCat de comprendre ce qui se passait, je suis obtenir un java.lang.NoClassDefFoundError et quelques autres messages disant " Le lien de la classe ./Map a échoué "," Impossible de trouver la classe ./Map référencée à partir de la méthode ./Main.run "et" VFY: impossible de résoudre const-class 37 "

Répondre

15

Vous pouvez utiliser comme ça et ne pas oublier d'ajouter les activités à AndroidManifest.xml:

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

Avez-vous essayé de cette façon?

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

Vous devez mettre en œuvre cette ligne dans votre Manifest

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

Si vous avez déjà fait cela, vous l'avez fait mal! Il doit être dans la balise <application> </application>. Sinon, vous obtiendrez votre erreur

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