Kricek Posted January 5, 2011 Share Posted January 5, 2011 Coucou tout le monde! Tout d'abord mes meilleurs voeux à toutes et à tous pour cette nouvelle année. Je pense que tout est dans le titre mais je vais néanmoins essayer d'être le plus précis possible: Je souhaite lancer une Activité "variable".... Voilà le topo: - J'ai une base de données qui contient, entre autres, dans une table, des textes. Ces textes sont récupérés et pour chaque texte, je génère une TextView contenant le texte correspondant. - Dans une autre table, j'ai associé les id des textes avec le nom de classes (sans le ".apk"). - Quand l'utilisateur clique sur l'une des TextView, je récupère le nom de la classe associée au format String. Et on en arrive à mon problème: Je souhaiterais lancer une Intent, dont le nom de la classe appelée serait la String que j'ai... Quelque chose du style: Intent intent = new Intent(this, "maString".class); startActivity(intent); Mais bien sûr, ca; ca ne fonctionne pas... J'ai fouiné un peu et j'ai trouvé quelque chose avec les classes "ClassLoader" et "PathClassLoader" mais je ne suis pas sûr que ce soit bien adapté à ce que je veux faire... Si c'est le cas, c'est donc que je n'ai pas su les utiliser et donc un ptit coup de main ne srerait pas de refus! ;) Merci d'avance! EDIT : La solution est de faire appel à Class.forName("package_complet.MaClasse"); qui retourne un objet "Class"... Link to comment Share on other sites More sharing options...
chpil Posted January 5, 2011 Share Posted January 5, 2011 Utilise Class.forName Class maClass = Class.forName("nom.de.classe.complet.package.compris"); Intent intent = new Intent(this, maClass); cf doc Link to comment Share on other sites More sharing options...
Kricek Posted January 5, 2011 Author Share Posted January 5, 2011 Utilise Class.forName Class maClass = Class.forName("nom.de.classe.complet.package.compris"); Intent intent = new Intent(this, maClass); cf doc Ptin, j'suis trop bête... Je l'ai déjà utilisé en plus! arf... Je teste ca tout de suite... Merci en tout cas! Edit: Tout est ok... Merci encore! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.