ho seguito questa guida per la realizzazione di una widget ma al posto di uscire questa immagine
mi esce questa
scusate le dimensioni... cmq il progetto è in allegato... mi sapete dire dove ho sbagliato???![]()
ho seguito questa guida per la realizzazione di una widget ma al posto di uscire questa immagine
mi esce questa
scusate le dimensioni... cmq il progetto è in allegato... mi sapete dire dove ho sbagliato???![]()
Al momento non son sul fisso, ma sul portatilino,
dove non ho nemmeno l'sdk installata se no mi schiatta porello..
Mmmm così ad occhio, senza poter veder il codice,
potrebbero esserci un po' di errorini o con l'xml o probabilmente
quando devi settare i tab.
Ti metto qui sotto qualche righetta di come lo farei io
Hai bisogno del tuo file xml dove inserisci la descrizione del tuo tabhost.
1
2
3<TabHost xmlns:android=”http://schemas.android.com/apk/res/android”
4android:id=”@+id/miotabhost”
5android:layout_width=”fill_parent”
6android:layout_height=”fill_parent”>
7<TabWidget
8android:id=”@android:id/tabs”
9android:layout_width=”fill_parent”
10android:layout_height=”65px”/>
11
12<FrameLayout
13android:id=”@android:id/tabcontent”
14android:layout_width=”fill_parent”
15android:layout_height=”200px”
16android:paddingTop=”65px”>
17<LinearLayout
18android:id=”@+id/content”
19android:orientation=”vertical”
20android:layout_width=”fill_parent”
21android:layout_height=”fill_parent”>
22</LinearLayout>
23</FrameLayout>
24</TabHost>
25
Le id tabcontent e tabs non sognarti di cambiarle se no è come sparare
sulla croce rossa(devon mantener quelle id, perchè se non erro poi crasha per ovvi errori)
Poi hai bisogno dell'activity che dovrai dichiarare anche nel manifest.xml
Una cosa di questo tipo dovrebbe andare:
171
23public void onCreate(Bundle b) {
4super.onCreate(b);
5setContentView(R.layout.main);
6TabHost tabs = (TabHost) this.findViewById(R.id.miotabhost);
7tabs.setup();
8TabSpec t1 = tabs.newTabSpec(”Primo”);
9t1.setIndicator(”Secondo”);
10t1.setContent(tuo_intent_1);
11tabs.addTab(t1);
12TabSpec t2 = tabs.newTabSpec(”Secondo”);
13t2.setIndicator(”Secondo”);
14t2.setContent(tuo_intent_2);
15tabs.addTab(t2);
16}
17
Fiuuuuu eterno ma dovrebbe esser esauriente
Non dimenticarti quel tabhost.setup();
My School Manager: per Genitori e Alunni
Memory il gioco di quando eri bambino
Yummes WallPaper un simpatico wallpaper
My WebSite:
AlchemiaAndroid
My Blog:
AlchemiaSoft
go rivisto il codice ed è particamente uguale al tuo... mancava solo il tabhost.setup() ma la situazione non è cambiata...
xò ora mi sta sorgendo un dubbio... qnd vado ad eseguire il mio progetto, come fa l'emulatore a capire da quale classe deve far partire il progetto???
(scusate il mio parlare poco tecnico... diciamo k nella normale programmazione java sarebbe la classe del main())
ho paura k esegue solo la classe activity degli artists...
qst è il codice del manifest:
361
2
3<manifest xmlns:android="http://schemas.android.com/apk/res/android"
4package="wid.hello"
5android:versionCode="1"
6android:versionName="1.0">
7<uses-sdk android:minSdkVersion="3" />
8
9<application android:icon="@drawable/icon" android:label="@string/app_name">
10<activity android:name=".HelloTabWidget" android:label="@string/app_name"
11android:theme="@android:style/Theme.NoTitleBar">
12</activity>
13<activity android:name=".ArtistsActivity"
14android:label="@string/app_name">
15<intent-filter>
16<action android:name="android.intent.action.MAIN" />
17<category android:name="android.intent.category.LAUNCHER" />
18</intent-filter>
19</activity>
20<activity android:name=".AlbumsActivity"
21android:label="@string/app_name">
22<intent-filter>
23<action android:name="android.intent.action.MAIN" />
24<category android:name="android.intent.category.LAUNCHER" />
25</intent-filter>
26</activity>
27<activity android:name=".SongsActivity"
28android:label="@string/app_name">
29<intent-filter>
30<action android:name="android.intent.action.MAIN" />
31<category android:name="android.intent.category.LAUNCHER" />
32</intent-filter>
33</activity>
34</application>
35</manifest>
36
Fa pauraaaaaaaaa...
Non devi metter tutti quegli intent per main e launcher..
Basta uno solo per l'activity che implementa il tabhost ;-)
Spero poi non ci siano altri errori..
Ma essenzialmente
-hai l'activity per il tabhost alla quale assegni l'intent del main e launcher
-le altre activity dichiarate anche nel manifest
ho fatto così: ho cancellato i varii intent dalle activity e l'ho messo solo nell'activity di HelloTabWidget
271
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3package="wid.hello"
4android:versionCode="1"
5android:versionName="1.0">
6<uses-sdk android:minSdkVersion="3" />
7
8<application android:icon="@drawable/icon" android:label="@string/app_name">
9<activity android:name=".HelloTabWidget" android:label="@string/app_name"
10android:theme="@android:style/Theme.NoTitleBar">
11<intent-filter>
12<action android:name="android.intent.action.MAIN" />
13<category android:name="android.intent.category.LAUNCHER" />
14</intent-filter>
15</activity>
16<activity android:name=".ArtistsActivity"
17android:label="@string/app_name">
18
19</activity>
20<activity android:name=".AlbumsActivity"
21android:label="@string/app_name">
22</activity>
23<activity android:name=".SongsActivity"
24android:label="@string/app_name">
25</activity>
26</application>
27</manifest>
ma nell'emulatore mi da il seguente errore: the application (wid.hello) has stopped unespectedly. Please try again
praticamente nn lo installa nell'emulatore di android![]()
ho visto e rivisto il codice e se nn erro il problema sta nel main.xml
praticamente nella realizzazione del layout mi da il seguente errore:
e il codice è il seguente (realizzazione di un tab layout)codice:error! NullPointerException: null Exception details are logged in Window > Show View > Error Log
211
2<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
3android:id="@android:id/tabhost"
4android:layout_width="fill_parent"
5android:layout_height="fill_parent">
6<LinearLayout
7android:orientation="vertical"
8android:layout_width="fill_parent"
9android:layout_height="fill_parent"
10android:padding="5dp">
11<TabWidget
12android:id="@android:id/tabs"
13android:layout_width="fill_parent"
14android:layout_height="wrap_content" />
15<FrameLayout
16android:id="@android:id/tabcontent"
17android:layout_width="fill_parent"
18android:layout_height="fill_parent"
19android:padding="5dp" />
20</LinearLayout>
21</TabHost>
Mi credi che non ho il tempo di star dietro bene bene a risponder pure qui?
- Ho buttato su i due aggiornamenti per My School Manager e versione Lite
- devo andare avanti con il giochino a tempo perso
- e sto facendo le cosette per l'università hehe
Allora...
La tua classe deve estender tabactivity perciò:
51
2public class TuaClasse extends TabActivity {
3..............
4}
5
Poi da quella devi recuperare il TabHost
41
2TabHost th = getTabHost();
3}
4
Poi un po' di codice:
111
2TabHost.TabSpec spec;
3
4Intent intent = new Intent().setClass(this, Personaggio.class);
5
6spec = th.newTabSpec("simone").setIndicator("simone",res.getDrawable(R.drawable.DRAW)).setContent(intent);
7
8th.addTab(spec);
9
10th.setCurrentTab(0);
11
Se usi la tabActivity non ti serve nemmeno usare il .setup();
Faccio due cosette veloci e poi devo scappareeeee!
Spero sia tutto ok!![]()
My School Manager: per Genitori e Alunni
Memory il gioco di quando eri bambino
Yummes WallPaper un simpatico wallpaper
My WebSite:
AlchemiaAndroid
My Blog:
AlchemiaSoft
risolto!!!
era sbagliato il codice del manifest!!! ho corretto