2010-09-10 7 views
5

In meinem Thread erstelle ich eine innere Aktivität 'B' an einem Punkt, um eine weitere Aktivität für das Ergebnis zu starten. Ich muss dies in meiner Android-Manifestdatei deklarieren, kann aber nicht herausfinden, wie der Name lautet, da der Standard ".B" nicht funktioniert, da er besagt, dass die Aktivität nicht existiert. Wie kann ich diese Aktivität angeben?Innere Aktivität im Android Manifest deklarieren

Dank

+0

Ich habe den Namen der Klasse versucht, ‚A‘ es wie ‚.A.B‘, und auch der qualifizierte Name prefixing sondern weil dies der Name des Themas Variable enthält, und ein ‚laufen () 'Befehl es ist illegal. – ComethTheNerd

+0

Verwenden Sie Eclipse, können Sie Aktivitäten in Ihrem Projekt für Sie erkennen, Sie wählen sie einfach aus, um sie hinzuzufügen. – schwiz

Antwort

5
  1. Als jemand darauf hingewiesen, in AndroidManifest, verwenden Sie das $ Zeichen, wie vorangestellt werden kann:

    <activity android:name=".A$B"> 
    
  2. Declare Klasse B als statisch:

    public static class B 
    
+3

Die "öffentlichen statischen" Modifikatoren sind in der Tat wichtig! – bk138

1

tun das Gegenteil Sachen, die Klasse als Aktivität erstellen und machen den Faden als innere Klasse.

+0

Richtig, ich habe meine innere Klasse in die Aktivität verschoben, die einen Handler im Thread speichert. Jeder Verweis auf Thread-Variablen muss entfernt werden, da, um die Aktivität im Manifest zu deklarieren, sie nicht nur öffentlich, sondern auch statisch sein muss. – ComethTheNerd

5

Um eine innere Klasse zu referenzieren, verwenden Sie das "$" anstelle eines Punktes.

.A$B 

Es ist auch mit dem Paketpfad

com.yourcompany.projectname.A$B 
Verwandte Themen