2011-04-07 4 views
1

Je travaille sur l'application Andriod Tab Layout pour me familiariser avec la programmation d'andriod. Je sais qu'il y a beaucoup de questions sur ce tutoriel mais je n'ai pas l'air de pouvoir trouver ce qui ne va pas. Ci-dessous est le code que j'ai. Comment puis-je obtenir les journaux d'erreurs? - Je remarque que c'est ce que tous les messages demandent. Je l'utilise sur un téléphone andriod et mon IDE est éclipse. Il compile bien, mais quand je le lance, je reçois un écran noir avec une boîte de force. Merci d'avance!Aide sur la disposition des onglets Android

Mon principal fichier java:

package greg.tab; 

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

public class tab extends TabActivity { 
    /** Called when the activity is first created. */ 

    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); 

     //Create an indent 
     intent = new Intent().setClass(this, SongActivity.class); 
     //Initialize 

     spec = tabHost.newTabSpec("albums").setIndicator("Albums", res.getDrawable(R.drawable.ic_tab_artists)) 
     .setContent(intent); 
     tabHost.addTab(spec); 


     //Create an indent 
     intent = new Intent().setClass(this, AlbumActivity.class); 
     //Initialize 

     spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.ic_tab_artists)) 
     .setContent(intent); 
     tabHost.addTab(spec); 
     tabHost.setCurrentTab(2);  
    } 

    public class ArtistsActivity extends Activity { 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      TextView textview = new TextView(this); 
      textview.setText("This is The Artists tab"); 
      setContentView(textview); 
     } 
    } 

    public class AlbumActivity extends Activity { 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      TextView textview = new TextView(this); 
      textview.setText("This is The Album tab"); 
      setContentView(textview); 
     } 
    } 
    public class SongActivity extends Activity { 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      TextView textview = new TextView(this); 
      textview.setText("This is The song tab"); 
      setContentView(textview); 
     } 
    } 
} 

XML --Mon manifeste

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="greg.tab" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".tab" 
        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=".ArtistsActivity" 
android:label ="@string/app_name"> 
</activity> 
<activity android:name=".AlbumActivity" 
android:label ="@string/app_name"></activity> 
<activity android:name=".SongActivity" 
android:label ="@string/app_name"> 
</activity> 
    </application> 


</manifest> 

fichier xml --Mon fait pour mon sélecteur d'image (je viens d'utiliser un fichier XML régulier - je l'espère cela est vrai) --also-je utiliser ce pour tous les onglets

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- When selected, use grey --> 
    <item android:drawable="@drawable/ic_tab_artists_grey" 
      android:state_selected="true" /> 
      <!-- When not selected, use white--> 
      <item android:drawable="@drawable/ic_tab_artists_white" /> 
      </selector> 

--Mon fichier XML principal

<?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="5dp"> 
     <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="5dp" /> 
     </LinearLayout> 
     </TabHost> 

Encore une fois toute aide est appréciée!

Merci.

+0

Coller le message logcat. – Sandy

+0

On dirait que vous devez commencer avec les bases de la programmation Android. Il suffit de passer par le guide du développeur Android, vous trouverez comment vérifier le logcat. – Swapna

+0

@Ayudh - merci pour la recommandation - je vais essayer de fixer ce taux – Johnston

Répondre

2

Essayez ce lien how to use logcat

Pour la force près: vous vérifier les ressources (mise en page + dessinables), id vous donnez en xml et id que vous utilisez dans votre code. nettoyez votre projet et exécutez-le espérons que cette aide!

+0

pour les drawables de ressources que je viens de le placer dans le dossier drawable HDPI est-ce vrai? Merci également pour le lien pour l'utilisation de logcat - il sera plus facile de debubder – Johnston

+0

hey essayez ces tutoriels d'excellents tutoriels. Espérons ces http://wonton-games.blogspot.com/2010/07/tutorial-multiple-screen -support.html et http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/ – Alok

Questions connexes