IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Erreur getTabHost() create method


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut Erreur getTabHost() create method
    Bonjour,

    Je suis entrain de suivre se tutoriel :http://developer.android.com/resourc...tabwidget.html

    Tout ce passe bien mais j'ai une erreur au niveau du getTabHost() ligne 12:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    public class HelloTabWidget extends Activity {
        /** Called when the activity is first created. */
    	private  TabHost tabHost;  // The activity TabHost
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            Resources res = getResources(); // Resource object to get Drawables
     
            tabHost = getTabHost();
            TabHost.TabSpec spec;  // Resusable TabSpec for each tab
            Intent intent;  // Reusable Intent for each tab
     
            // Create an Intent to launch an Activity for the tab (to be reused)
            intent = new Intent().setClass(this, ArtistsActivity.class);
     
            // Initialize a TabSpec for each tab and add it to the TabHost
            spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                              res.getDrawable(R.drawable.ic_tab_artists))
                          .setContent(intent);
            tabHost.addTab(spec);
     
            // Do the same for the other tabs
            intent = new Intent().setClass(this, AlbumsActivity.class);
            spec = tabHost.newTabSpec("albums").setIndicator("Albums",
                              res.getDrawable(R.drawable.ic_launcher))
                          .setContent(intent);
            tabHost.addTab(spec);
     
            intent = new Intent().setClass(this, SongsActivity.class);
            spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                              res.getDrawable(R.drawable.ic_launcher))
                          .setContent(intent);
            tabHost.addTab(spec);
     
            tabHost.setCurrentTab(2);
        }
     
     
        }
    Eclipse me propose de créer une méthode comme solution.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    change ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class HelloTabWidget extends Activity {
    par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class HelloTabWidget extends TabActivity {

  3. #3
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Bonjour,

    ton lien est mort!

    De plus, Ce n'est pas une simple Activity dans ton extends mais plutot TabActivity!

    EDIT: MrDuChnok est plus rapide que moi :p

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    http://developer.android.com/resourc...tabwidget.html

    J'ai bien modifié Activity en TabActivity.

    J'ai bien mi dans mon manifest:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <activity android:name=".ArtistsActivity"></activity>
    		<activity android:name=".AlbumsActivity"></activity>
    		<activity android:name=".SongsActivity"></activity>
    Maintenant je n'ai plus d'erreur java mais dans mon logcat :
    12-16 15:01:30.956: E/AndroidRuntime(475): FATAL EXCEPTION: main
    12-16 15:01:30.956: E/AndroidRuntime(475): java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.HelloTabWidget}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: android.view.InflateException: Binary XML file line #24: Error inflating class <unknown>
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.os.Handler.dispatchMessage(Handler.java:99)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.os.Looper.loop(Looper.java:123)
    12-16 15:01:30.956: E/AndroidRuntime(475): at android.app.ActivityThread.main(ActivityThread.java:4627)
    12-16 15:01:30.956: E/AndroidRuntime(475): at java.lang.reflect.Method.invokeNative(Native Method)
    12-16 15:01:30.956: E/AndroidRuntime(475): at java.lang.reflect.Method.invoke(Method.java:521)
    12-16 15:01:30.956: E/AndroidRuntime(475): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    12-16 15:01:30.956: E/AndroidRuntime(475): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    12-16 15:01:30.956: E/AndroidRuntime(475): at dalvik.system.NativeStart.main(Native Method)
    12-16 15:01:30.956: E/AndroidRuntime(475): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{test.menu.barmenu/test.menu.barmenu.ArtistsActivity}:

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    alors j'ai fais un log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     intent = new Intent().setClass(this, ArtistsActivity.class);
    spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                              res.getDrawable(R.drawable.ic_tab_artists))
                          .setContent(intent);
           Log.e("log_tag", "test : "+intent + " spec : "+spec );
            tabHost.addTab(spec);
    Il me renvoit :
    12-16 15:36:56.025: E/log_tag(439): test : Intent { cmp=test.menu.barmenu/.ArtistsActivity } spec : android.widget.TabHost$TabSpec@44f6ea98

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Ton activity s'appelle HelloTabWidget je ne la vois pas dans ton manifest ...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Voici mon manifest :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="test.menu.barmenu"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk android:minSdkVersion="4" />
     
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:label="@string/app_name"
                android:name=".HelloTabWidget" >
                <intent-filter >
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
     
            <activity android:name="ArtistsActivity"></activity>
    		<activity android:name="AlbumsActivity"></activity>
    		<activity android:name="SongsActivity"></activity>
     
        </application>
     
    </manifest>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sur CREATE TABLE avec champ boolean
    Par codial dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/03/2007, 18h30
  2. Erreur sur CREATE TABLE
    Par codial dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2007, 12h38
  3. Erreur sur Create Table
    Par defluc dans le forum SQL
    Réponses: 8
    Dernier message: 18/03/2007, 19h32
  4. message d'erreur en java -method nt visible
    Par meclys dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2007, 15h26
  5. Erreur de la méthode FileSearch.Execute
    Par EE dans le forum Access
    Réponses: 21
    Dernier message: 09/05/2006, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo