Quelqu'un peut-il m'aider s'il vous plaît dans cet exemple de TabHost? Le problème que j'ai, c'est quand j'essaye d'exécuter l'application je reçois l'exception Pointeur Null.Tabhost Null Pointer Exception
Voici le code si quelqu'un doit jeter un coup d'œil.
public class TabBarExample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/**
* TabHost will have Tabs
**/
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
/** TabSpec used to create a new tab.
* By using TabSpec only we can able to setContent to the tab.
* By using TabSpec setIndicator() we can set name to tab.
**/
TabHost.TabSpec spec1, spec2;
spec1 = tabHost.newTabSpec("tab_id_1").setIndicator("Tab One").setContent(new Intent().setClass(this, FirstTab.class));
spec2 = tabHost.newTabSpec("tab_id_2").setIndicator("Tab Two").setContent(new Intent().setClass(this, SecondTab.class));
/**
* create intent of each tab pressed
**/
//Intent intent1 = new Intent().setClass(this, FirstTab.class);
//Intent intent2 = new Intent().setClass(this, SecondTab.class);
/**
* add the created tab to the tab host for display
**/
// I am getting error at the following line
tabHost.addTab(spec1);
tabHost.addTab(spec2);
}
}
Toute personne pour aider de quelque façon que ce soit ou me diriger vers une direction sera appréciée. Cordialement Shiraz
EDIT-- ici est la vue LogCat de l'erreur que je reçois
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): FATAL EXCEPTION: main
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.moonlight.tabbarexample/com.moonlight.tabbarexample.TabBarExample}: java.lang.NullPointerException
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread.access$1500(ActivityThread.java:132)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.os.Handler.dispatchMessage(Handler.java:99)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.os.Looper.loop(Looper.java:143)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread.main(ActivityThread.java:4196)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at java.lang.reflect.Method.invokeNative(Native Method)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at java.lang.reflect.Method.invoke(Method.java:507)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at dalvik.system.NativeStart.main(Native Method)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): Caused by: java.lang.NullPointerException
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:591)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:586)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.widget.TabHost$TabSpec.setContent(TabHost.java:441)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at com.moonlight.tabbarexample.TabBarExample.onCreate(TabBarExample.java:26)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
06-18 23:18:30.547: ERROR/AndroidRuntime(1404): ... 11 more
06-18 23:20:06.984: ERROR/SettingsAppWidhetProvider(14282): level1 = 100.0
Merci Shiraz
EDIT 2 - EST ICI main.xml
<?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:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dip">
<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="5dip" />
</LinearLayout>
</TabHost>
Voici le manifeste TabbarExample
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.moonlight.tabbarexample"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TabBarExample"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Et voici Firsttab.java
package com.moonlight.tabbarexample;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class FirstTab extends Activity{
public void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/* First Tab Content */
TextView textView = new TextView(this);
textView.setText("First Tab");
setContentView(textView);
}
}
dernier SeconTab.java
package com.moonlight.tabbarexample;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class SecondTab extends Activity{
public void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/* First Tab Content */
TextView textView = new TextView(this);
textView.setText("Second Tab");
setContentView(textView);
}
}
Merci les gars, pleaes healp, j'attends avec impatience. Cordialement. Shiraz
EDIT 3 ---
J'ai ajouté ces lignes suivantes à mon dossier manifeste
<activity android:name=".FirstTab"/>
<activity android:name=".SecondTab"/>
mais je reçois toujours la même erreur :(
c'est la ligne dans mon activité principale surCréer methid où j'obtiens cette erreur
/**
* add the created tab to the tab host for display
**/
tabHost.addTab(spec1);
tabHost.addTab(spec2);
grâce shiraz
À quelle ligne cette exception se produit-elle? En d'autres termes, veuillez copier la pile. –
Salut, je viens d'ajouter la vue Logcat de mon code. tx – hisheeraz
pouvez-vous copier votre main.xml. Assurez-vous également que les activités FirstTab et SecondTab sont créées et définies correctement dans le fichier manifeste. – mkso