[Débutant][TabHost & Activity] Tutoriel TabHost, onglets mais pas de frame
Bonjour,
J'essaye de suivre un tutoriel pour apprendre Android sur la création d'onglets, mais je n'arrive pas à avoir les textes correspondants aux pages d'onglets. Les onglets s'affichent (pas très beaux, sans arrondis...),je peux passer de l'un à l'autre, mais en-dessous j'ai une zone noire sans texte.
main.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp" />
</LinearLayout>
</TabHost> |
Mes activity de tab :
Code:
1 2 3 4 5 6 7 8 9 10
|
public class Tab2Activity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.tab1);
TextView tv = new TextView(this);
tv.setText("Hello, Android 2");
setContentView(tv);
}
} |
mon activity principale :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
public class Test extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, Tab1Activity.class);
spec = tabHost.newTabSpec("Tab1").setIndicator("Tab1",res.getDrawable(R.drawable.mini_logo)).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Tab2Activity.class);
spec = tabHost.newTabSpec("Tab2").setIndicator("Tab2",res.getDrawable(R.drawable.mini_logo)).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Tab3Activity.class);
spec = tabHost.newTabSpec("Tab3").setIndicator("Tab3",res.getDrawable(R.drawable.mini_logo)).setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
} |
le manifest :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.Test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Test"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Tab1Activity" android:label="@string/tab1_activity_name"></activity>
<activity android:name=".Tab2Activity" android:label="@string/tab2_activity_name"></activity>
<activity android:name=".Tab3Activity" android:label="@string/tab3_activity_name"></activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest> |
Qu'est-ce que je n'ai pas compris?