1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

TabHost Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von pemko, 11.10.2010.

  1. pemko, 11.10.2010 #1
    pemko

    pemko Threadstarter Erfahrener Benutzer

    Beiträge:
    166
    Erhaltene Danke:
    3
    Registriert seit:
    26.08.2010
    Phone:
    Sony Xperia Z1 Compact
    Code:
    10-11 06:47:19.354: ERROR/AndroidRuntime(280): java.lang.NullPointerException
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:292)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:659)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:659)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:659)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1782)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.os.Handler.dispatchMessage(Handler.java:99)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.os.Looper.loop(Looper.java:123)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at android.app.ActivityThread.main(ActivityThread.java:4203)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at java.lang.reflect.Method.invokeNative(Native Method)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at java.lang.reflect.Method.invoke(Method.java:521)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
    10-11 06:47:19.354: ERROR/AndroidRuntime(280):     at dalvik.system.NativeStart.main(Native Method)
    
    im Android 2.2 funktioniert dies tadellos. im Android 2.1 und 1.6 geht gar nichts... weiss jemand darüber bescheid, ob der tabhost grundlegend verändert wurde?

    ergänzende info:das problem besteht nur, wenn ich die activity mit dem tabhost nach einer anderen aufrufe, direkt die activity mit dem tabhost aufrufen funktioneirt :(
     
    Zuletzt bearbeitet: 11.10.2010
  2. Unicate, 11.10.2010 #2
    Unicate

    Unicate Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Ich kann dir sagen, das das mit dem TabHost in meiner App, in verschiedenen Android Versionen tadellos funktioniert.

    Poste vllt mal deine XML und die onCreate Methode der Activity
     
  3. pemko, 11.10.2010 #3
    pemko

    pemko Threadstarter Erfahrener Benutzer

    Beiträge:
    166
    Erhaltene Danke:
    3
    Registriert seit:
    26.08.2010
    Phone:
    Sony Xperia Z1 Compact
    on create:
    Code:
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
    // Diverse Files welche angelegt werden/gelsöcht werden
    
    // Wird ein Tab angeklcikt wird diese Methode aufgerufen
            createAllTabs().setOnTabChangedListener(new OnTabChangeListener() {
                public void onTabChanged(String tabId) {
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(mTabHost
                            .getApplicationWindowToken(), 0);
                }
            });
    createAllTabs:
    Code:
    // Resource object to get Drawables
            Resources res = getResources(); 
            
        
            // die Tabs erstellen
            mTabHost = getTabHost();
                    
            // Tab 1 
            Intent intent1 = new Intent().setClass(this, StartScreenActivity.class);
            TabSpec ts1 = createTab("tab_main", this.getString(R.string.menu), 
                    res.getDrawable(R.drawable.ic_tab_main), intent1);
    
            // Tab 2 
            Intent intent2 = new Intent().setClass(this, MyProfileActivity.class);
            intent2.putExtra("Test", 0);
            TabSpec ts2 = createTab("tab_profil", this.getString(R.string.my_profile), 
                    res.getDrawable(R.drawable.ic_tab_myprofile), intent2);
    
            // Tab 3 
            Intent intent3 = new Intent().setClass(this, NewClaimActivity.class);
            TabSpec ts3 = createTab("tab_claim", this.getString(R.string.claim), 
                    res.getDrawable(R.drawable.ic_tab_claims), intent3);
            
            // Tab 4 
            Intent intent4 = new Intent().setClass(this, InfoActivity.class);
            TabSpec ts4 = createTab("tab_info", this.getString(R.string.terms_conditions), 
                    res.getDrawable(R.drawable.ic_tab_info), intent4);
    
            mTabHost.addTab(ts1);
            mTabHost.addTab(ts2);
            mTabHost.addTab(ts3);
            mTabHost.addTab(ts4);
            
            return mTabHost;
    
    xml:
    Code:
    <?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">
            <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">
                <TextView 
                    android:id="@+id/textview1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"  />
                <TextView 
                    android:id="@+id/textview2"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />
                <TextView 
                    android:id="@+id/textview3"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />
                <TextView 
                    android:id="@+id/textview4"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />
            </FrameLayout>
        </LinearLayout>
    </TabHost>
    
     
  4. pemko, 02.11.2010 #4
    pemko

    pemko Threadstarter Erfahrener Benutzer

    Beiträge:
    166
    Erhaltene Danke:
    3
    Registriert seit:
    26.08.2010
    Phone:
    Sony Xperia Z1 Compact
    kleiner push... bin schon eine weile am problem, aber weiss nicht was los ist
     

Diese Seite empfehlen