2010-09-10 3 views
5

Dans mon fil, je crée une activité interne 'B' à un moment donné afin de lancer une autre activité pour résultat. Je dois le déclarer dans mon fichier manifeste Android, mais je ne peux pas déterminer son nom, car le standard ".B" ne fonctionne pas car il dit que l'activité n'existe pas. Comment puis-je déclarer cette activité?Déclarez l'activité interne dans le manifeste Android

Merci

+0

J'ai essayé le nom de la classe « A » préfixant comme « .A.B », ainsi que le nom qualifié, mais parce que cela inclut le nom de la variable de fil, et un « run () 'commande c'est illégal. – ComethTheNerd

+0

utilisez-vous eclipse il peut détecter des activités dans votre projet pour vous il vous suffit de les sélectionner pour l'ajouter. – schwiz

Répondre

5
  1. Comme quelqu'un l'a souligné, dans AndroidManifest, utilisez le signe $, comme:

    <activity android:name=".A$B"> 
    
  2. Declare classe B comme statique:

    public static class B 
    
+3

Les modificateurs "public static" sont en effet importants! – bk138

1

Est-ce que les choses inverse, créer la classe comme activité et faire le fil comme classe interne.

+0

À droite, j'ai déplacé ma classe interne vers l'activité qui stocke un gestionnaire sur le fil. Toute référence à des variables de threads doit être supprimée car, pour déclarer l'activité dans le manifeste, elle doit non seulement être publique, mais aussi statique. – ComethTheNerd

5

Pour référencer une classe interne, utilisez "$" au lieu d'un point.

.A$B 

Il peut également être préfacé par le chemin du paquet

com.yourcompany.projectname.A$B