2010-07-17 10 views
15

myCode:Excepción Android: ¿Usted olvidó llamar 'configuración public void (LocalActivityManager ActivityGroup)'

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     final TabHost tabHost = (TabHost) findViewById(R.id.tabhost); 

//  LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false); 
     tabHost.setup(); 

     TabSpec tabSpecCheckIn = tabHost.newTabSpec(getResources().getText(R.string.button_check_in).toString()); 

     tabSpecCheckIn.setIndicator(getResources().getText(R.string.button_check_in).toString(), getResources().getDrawable(android.R.drawable.star_off)); 
     tabSpecCheckIn.setContent(R.id.check_in); 
     tabHost.addTab(tabSpecCheckIn); 

     TabSpec tabSpecReview = tabHost.newTabSpec(getResources().getText(R.string.button_review).toString()); 
     tabSpecReview.setIndicator(getResources().getText(R.string.button_review).toString(), getResources().getDrawable(android.R.drawable.star_off)); 
     tabSpecReview.setContent(R.id.review); 
     tabHost.addTab(tabSpecReview); 

     TabSpec tabSpecMyCircles = tabHost.newTabSpec(getResources().getText(R.string.button_my_circles).toString()); 
     tabSpecMyCircles.setIndicator(getResources().getText(R.string.button_my_circles).toString(), getResources().getDrawable(android.R.drawable.star_off)); 
     tabSpecMyCircles.setContent(R.id.my_circle); 
     tabHost.addTab(tabSpecMyCircles); 

     TabSpec tabSpecMySettings = tabHost.newTabSpec(getResources().getText(R.string.button_settings).toString()); 
     tabSpecMySettings.setIndicator(getResources().getText(R.string.button_settings).toString(), getResources().getDrawable(android.R.drawable.star_off)); 
     tabSpecMySettings.setContent(new Intent(this,CheckInActivity.class)); 
     tabHost.addTab(tabSpecMySettings); 

     tabHost.setCurrentTab(0); 
    } 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

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

     <TabWidget android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:id="@android:id/tabs" 
      android:layout_gravity="bottom" /> 


     <FrameLayout android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" 
      android:paddingTop="65px"> 

      <LinearLayout android:id="@+id/check_in" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" android:padding="5px"> 
       <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:text="date" 
        android:textStyle="bold" /> 
      </LinearLayout> 

      <LinearLayout android:id="@+id/review" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" android:padding="5px"> 
       <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:text="lieu" 
        android:textStyle="bold" /> 
      </LinearLayout> 

      <LinearLayout android:id="@+id/my_circle" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" android:padding="5px"> 
      </LinearLayout> 

      <LinearLayout android:id="@+id/setting" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" android:padding="5px"> 
      </LinearLayout> 
     </FrameLayout> 
    </TabHost> 
</LinearLayout> 

Al hacer clic en el botón de Configuración, exctption:

Olvidó llamar a 'public void setup (LocalActivityManager activityGroup)'

Quién me puede ayudar. ¡Intento extenderse de TabActiviy o ActivityGroup todavía otras excepciones !!!
Quiero poner los botones de Tabhost en la parte inferior y cuando hago clic en el botón invoco diferentes Actividades!

Respuesta

3

lugar de instalación():

LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false); 
setup(mLocalActivityManager); 
38

necesita cambiar la clase base de MainActivity de la actividad a ActivityGroup, de la siguiente manera:

public class MainActivity extends ActivityGroup { 
    ... 
    } 

ActivityGroup se hará cargo de una instancia de LocalActivityManager. Entonces no necesitas crearlo. Después de cambiar la clase base, simplemente llame a la función getLocalActivityManager() definida en la clase base para obtener esa instancia. función de establecimiento de llamada de tabHost así:

tabHost.setup(this.getLocalActivityManager()); 
+0

excelente respuesta .. –

+0

salvado mi tiempo gracias – Krishna

+1

ActivityGroup está obsoleto! –

Cuestiones relacionadas