2010-09-10 15 views
5

Nel mio thread creo un'attività interna 'B' in un punto per avviare un'altra attività per il risultato. Devo dichiararlo nel mio file manifest di Android, ma non riesco a capire quale sia il suo nome poiché lo standard ".B" non funziona perché dice che l'attività non esiste. Come posso dichiarare questa attività?Dichiarare attività interna nel manifesto Android

Grazie

+0

ho provato il nome della classe 'A' come prefisso '.A.B', e anche il nome completo, ma perché questo include il nome della variabile filo, e un 'run () 'comando è illegale. – ComethTheNerd

+0

stai usando eclipse in grado di rilevare le attività nel tuo progetto per te basta selezionarle per aggiungerlo. – schwiz

risposta

5
  1. Come qualcuno ha sottolineato, in AndroidManifest, utilizzare il $ segno, come:

    <activity android:name=".A$B"> 
    
  2. Declare classe B come statica:

    public static class B 
    
+3

I modificatori "public static" sono davvero importanti! – bk138

1

fare la roba contrario, creare la classe di attività e fanno il filo come classe interna.

+0

Esatto, ho spostato la mia classe interna all'attività che memorizza un gestore nel thread. Ogni riferimento alle variabili del thread deve essere rimosso perché per dichiarare l'attività nel manifest deve essere non solo pubblico, ma anche statico. – ComethTheNerd

5

Per fare riferimento a una classe interna, utilizzare "$" anziché un punto.

.A$B 

Può anche essere preceduta dal percorso del pacchetto

com.yourcompany.projectname.A$B 
Problemi correlati