2013-02-03 1 views
5

Ricevo "è necessario specificare un modo per creare l'indicatore" Errore (come da logcat). Impossibile trovare il motivo.Impossibile trovare la causa "è necessario specificare un modo per creare l'indicatore di tabulazione"

Classe principale: file di

package org.tatvamoksh.tml; 


import android.app.TabActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Window; 
import android.widget.TabHost; 
import android.widget.TabHost.TabSpec; 

@SuppressWarnings({ "deprecation" }) 
public class MainActivity extends TabActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //Remove title bar 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

    setContentView(R.layout.activity_main); 

    TabHost tabHost = getTabHost(); 

    // Tab for Tatva 
    TabSpec t = tabHost.newTabSpec("Tatva"); 
    // setting Title and Icon for the Tab 
    t.setIndicator("Tatva"); 
    Intent tatvaIntent = new Intent(this, TatvaActivity.class); 
    t.setContent(tatvaIntent); 

    // Tab for Moksh 
    TabSpec m = tabHost.newTabSpec("Moksh"); 
    m.setIndicator("Moksh"); 
    Intent mokshIntent = new Intent(this, MokshActivity.class); 
    m.setContent(mokshIntent); 

    //Tab for Updates 
    TabSpec u = tabHost.newTabSpec("Updates"); 
    m.setIndicator("Updates"); 
    Intent updatesIntent = new Intent(this, Updates.class); 
    m.setContent(updatesIntent); 

    // Adding all TabSpec to TabHost 
    tabHost.addTab(t); // Adding Tatva tab 
    tabHost.addTab(m); // Adding Moksh tab 
    tabHost.addTab(u); // Adding Updates tab 
} 
} 

disposizione:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 

<TabHost 
android:id="@android:id/tabhost" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

     <TabWidget 
     android:id="@android:id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

     <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

      <ListView 
      android:id="@android:id/list" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 
      </ListView> 
     </FrameLayout> 
    </LinearLayout> 
</TabHost> 
</RelativeLayout> 

Commentando il seguente codice lo ripara.

 //Tab for Updates 
    TabSpec u = tabHost.newTabSpec("Updates"); 
    m.setIndicator("Updates"); 
    Intent updatesIntent = new Intent(this, Updates.class); 
    m.setContent(updatesIntent); 

Non riesco a indovinare il problema esatto. Sarei grato per qualsiasi consiglio.

risposta

7

modifica del codice ultima scheda come:

//Tab for Updates 
    TabSpec u = tabHost.newTabSpec("Updates"); 
    u.setIndicator("Updates"); 
    Intent updatesIntent = new Intent(this, Updates.class); 
    u.setContent(updatesIntent); 

perché non sta impostando Indicatore e contenuti per TabSpec u (si sta impostando per m Tab)

+0

Ahhh ... come potrei mancare questo. Grazie mille :) – hypd09

+0

@spexy: amico molto gradito –