2010-12-14 10 views
0

J'ai essayé de résoudre ce problème depuis longtemps, sur l'onglet tutoriel pour android ive, je l'ai suivi exactement mais je continue d'obtenir cette erreur messege sur ma classe TabWidget.java.Erreur dans le didacticiel de l'onglet Android

R.drawable.ic_tab_albums ne peut pas être résolu
tabWidget.java/HelloTabWidget/src/com/example/tabwidget

et

R.drawable.ic_tab_songs ne peut pas être résolu
tabWidget.java/HelloTabWidget/src/com/example/tabwidget

Heres mon code pour ma classe TabWidget.java

`
de com.example.androidtab.R d'importation;

import android.app.Activity; 
import android.content.Intent; 
import android.content.res.Resources; 
import android.os.Bundle; 
import android.widget.TabHost; 

public class TabWidget extends Activity { 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Resources res = getResources(); // Resource object to get Drawables 
    TabHost tabHost = getTabHost(); // The activity TabHost 
    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_tab_albums)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, SongsActivity.class); 
    spec = tabHost.newTabSpec("songs").setIndicator("Songs", 
         res.getDrawable(R.drawable.ic_tab_songs)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(2); 
} 

private TabHost getTabHost() { 
    // TODO Auto-generated method stub 
    return null; 
} 

} `

+1

Voir ma question: http://stackoverflow.com/questions/2209406/issues-with-android-tabhost-example – KevinDTimm

+0

se réfèrent en particulier à la réponse par Ted que KevinDTimm est lier à. il indique que le didacticiel ne vous a pas demandé de créer les deux autres fichiers xml nécessaires pour que cet exemple fonctionne. –

Répondre

2

qui est couvert à l'étape 3 du tutoriel.

"Vous avez besoin d'une icône pour chacun de vos onglets.Pour chaque icône, vous devez créer deux versions: une pour quand l'onglet est sélectionné et une pour quand il n'est pas sélectionné."

Vous avez seulement créé une icône pour un, pas pour tous les trois.

Certes, cette étape est assez mal écrite.

+0

cette étape n'est pas obligatoire. vous pouvez très bien avoir 1 image pour tous les états de l'onglet –

1

Vous devez également créer un fichier de classe distinct pour chaque classe d'activité (par exemple ArtistsActivity.java, AlbumsActivity.java et SongsActivity.java) dans votre dossier src.

Je ne le faisais pas et le projet n'était même pas lancé quand je l'ai exécuté.

Espérons que la révision sera faite dans le tutoriel afin qu'aucune perte de temps supplémentaire ne se produise.