Profete162 Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 (modifié) Salut tertous, J'ai voulu créer un menu de préférences et je bloque encore sur un truc basique, j'ai du louper quelquechose: J'ai défini mon activité dans le manifest: J'ai créé une classe qui étend l'activité: package tof.cv.trains.pro; import android.app.Activity; import android.os.Bundle; import tof.cv.trains.pro.R; public class Preferences extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.preferences); } } J'appelle ce menu sur click de bouton dans mon activité principale: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item01: System.exit(0); return true; case R.id.item02: Intent settingsActivity = new Intent(this, Preferences.class); startActivity(settingsActivity); return true; } et il me met quand même un message d'erreur comme quoi l'activité n'est pas définie dans le manifest! android.content.ActivityNotFoundException: Unable to find explicit activity class {tof.cv.trains.pro/java.util.prefs.Preferences}; have you declared this activity in your AndroidManifest.xml? Pourtant cf ligne de code au début, il est bien défini en même temps que mes autres activités qui fonctionnent, elles! J'ai du louper quelquechose d'évident, mais je ne vois vraiment pas quoi... Modifié 23 octobre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tama Chan Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 Pourquoi ne pas utiliser plutot une preferences activity ? dans ton oncreate t'as juste deux lignes, tu definies le reste dans un fichier XML et hop, android gere tout ça: http://www.androidguys.com/2008/09/29/whats-your-preference-part-one/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 23 octobre 2009 Auteur Share Posté(e) 23 octobre 2009 (modifié) Bien c'est exactement la même chose que ce que j'avais fait!!! j ai juste, grâce à ton post, remplacé extends Activity par extends PreferenceActivity dans ma classe Preferences... Sinon, nos 2 codes sont exactement pareils! Et chez moi, ca plante! Modifié 23 octobre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dekans Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 Et avec "Preferences" au lieu de ".Preferences" dans le manifest ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 23 octobre 2009 Auteur Share Posté(e) 23 octobre 2009 (modifié) Cela ne change rien: I/ActivityManager( 568): Starting activity: Intent { cmp=tof.cv.trains.pro/java.util.prefs.Preferences }D/AndroidRuntime( 887): Shutting down VM W/dalvikvm( 887): threadid=3: thread exiting with uncaught exception (group=0x4001aa28) E/AndroidRuntime( 887): Uncaught handler: thread main exiting due to uncaught exception E/AndroidRuntime( 887): android.content.ActivityNotFoundException: Unable to find explicit activity class {tof.cv.trains.pro/java.util.prefs.Preferences}; have you declared this activity in your AndroidManifest.xml? Il sert à quoi ce point au fait? Pourquoi je dois le mettre pour mes autres activity ( qui fonctionnent tres bien) et pas pour mes Preferences? Mon probleme n'a pas un rapport avec le: java.util.prefs qu'il me rajoute dans le chemin de l'activité?? Modifié 23 octobre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dekans Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 Je sais pas, moi je l'ai que pour l'activity principale. Sinon je mets mainActivity.this au lieu de this tout court dans mes intent (sur les conseils de Tama Chan) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tama Chan Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 (modifié) y a un truc bizarre c'est tof.cv.trains.pro/java.util.prefs.Preferences ça devrait etre tof.cv.trains.pro/.Preferences par exemple: 10-23 09:16:42.069: INFO/ActivityManager(576): Starting activity: Intent { cmp=com.levelup.touiteur/.TouiteurPreferences } dans mon manifest j'ai Modifié 23 octobre 2009 par Tama Chan Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 23 octobre 2009 Auteur Share Posté(e) 23 octobre 2009 Change rien non plus.. Par contre, je ne comprends pas pourquoi il me lance: Starting activity: Intent { cmp=tof.cv.trains.pro/java.util.prefs.Preferences } Je m'attendais à voir: Starting activity: Intent { cmp=tof.cv.trains.pro.Preferences } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 Ce n'est pô parce que Preferences est réservé pour une classe Android ? Du coup il va chercher Preferences d'Android et pô ta classe Change le nom de ta classe voir ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 23 octobre 2009 Auteur Share Posté(e) 23 octobre 2009 (modifié) Argh, c'est encore pire que ce que je pensais... Dans tous mes projets, des que je crée une nouvelle activité, il me met: I/ActivityManager( 566): Starting activity: Intent { cmp=tof.cv.mpp/.InfoPro } D/AndroidRuntime( 911): Shutting down VM W/dalvikvm( 911): threadid=3: thread exiting with uncaught exception (group=0x4001aa28) E/AndroidRuntime( 911): Uncaught handler: thread main exiting due to uncaught exception E/AndroidRuntime( 911): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{tof.cv.mpp/tof.cv.mpp.InfoPro}: Il y a des doublons quelquepart, on dirait!!! tof.cv.mpp/tof.cv.mpp.InfoPro => C'est tres bizarre! Cela m'arrive tout le temps pour chaque nouvelle activité crée... Modifié 23 octobre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 23 octobre 2009 Share Posté(e) 23 octobre 2009 une activity sz crée avec un componentName en interne qui se créee avec "package" "activity" donc tov.cv.mpp -> package , mais c'est pas trains le package ? tov->cv.mpp->xxx ->activity Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.