2011-08-23 4 views
9

Ho due pacchetti nella mia applicazione Android. Come parlare di quei pacchetti diversi con le loro attività in file manifesto di Android? Nel mio codice ho dato comecome dichiarare due pacchetti con le loro attività nel file manifest Android?

<manifest package="com.tabwidget"> 
    <application> 
     <activity android:name=".com.tabwidget.Tab"></activity> 
     <activity android:name=".com.tabwidget.TabHostProvider"></activity> 
     <activity android:name=".com.tabwidget.TabView"></activity> 
    </application> 
</manifest>     
<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 
     <activity android:name=".com.kpbird.tabbarcontrol.TabbarView"></activity> 
    </application> 
</manifest> 

Ma io sono sempre eccezioni Impossibile trovare la classe di attività esplicito .......... . Dove stavo sbagliando? Please help me ...........

risposta

16

Sembra che avete fatto un paio di errori nel codice XML:

<manifest package="com.tabwidget"> 
    <application> 

     1) BELOW: starting the names by "." means that 
     you are implicitely extending the package prefix defined in the package 
     attribute of the manifest XML tag. 
     For example, if your package is "com.tabwidget", defining".MyActivity" 
     will be interpreted as "com.tabwidget.MyActivity" 
     By removing the first ".", you use an explicit notation instead: 
     whatever your package is, "com.tabwidget.MyActivity" is interpreted 
     as "com.tabwidget.MyActivity" 
     <activity android:name=".com.tabwidget.Tab"></activity> 
     <activity android:name=".com.tabwidget.TabHostProvider"></activity> 
     <activity android:name=".com.tabwidget.TabView"></activity> 
    </application> 
</manifest>     

2) BELOW: a manifest file should only contain one manifest XML tag: 
<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 

     3) BELOW: same mistake as 1) 
     <activity android:name=".com.kpbird.tabbarcontrol.TabbarView"></activity> 
    </application> 
</manifest> 

Quello che segue dovrebbe funzionare. Corregge questi 3 errori:

<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 
     <activity android:name="com.tabwidget.Tab"></activity> 
     <activity android:name="com.tabwidget.TabHostProvider"></activity> 
     <activity android:name="com.tabwidget.TabView"></activity> 
     <activity android:name=".TabbarView"></activity> 
    </application> 
</manifest> 
+0

grazie per la vostra response.But qui TabbarView attività appartiene al pacchetto differente. Come posizionare quel pacchetto nel file manifest? Hai detto che può esistere un solo tag manifest nel file manifest.xml. –

+1

Ho usato '' in questo senso. Nel mio file manifest, la tua app si chiamerà "com.kpbird.tabbarcontrol", userà 'com.tabwidget. *' Usando le notazioni esplicite nei tag 'activity' e userà' com.kpbird.tabbarcontrol. TabbarView' con l'uso di una notazione implicita. Potresti voler invertire questo. In tal caso, utilizzare "com.tabwidget" come nome del pacchetto, utilizzare la notazione implicita per le varie attività Tabwidget e utilizzare la notazione esplicita per TabbarView – Shlublu

0

si può fare così. non avete bisogno di fare alcuna inclusione esplicita di pacchetto differente

<manifest package="com.tabwidget"> 
<application> 
    <activity android:name="com.tabwidget.Tab"></activity> 
    <activity android:name="com.tabwidget.TabHostProvider"></activity> 
    <activity android:name="com.tabwidget.TabView"></activity> 
    <activity android:name="com.tabwidget.TabbarView"></activity> 
</application> 

Problemi correlati