2010-06-25 30 views
3

我一直在嘗試重置Android平臺的Tabhost中的選項卡,並且每次嘗試執行操作時都會遇到一些問題或其他問題。如何清除Android TabHost中的選項卡?

下面是我使用的代碼:

if(reset) 
    { 
    tabHost.setCurrentTab(0); 
    //tabHost.clearAllTabs(); 
    tabHost.getTabWidget().removeAllViews(); 
    } 

我得到以下異常:

e01-06 07:31:48.287:WARN/System.err的(1581):安卓.view.ViewRoot $ CalledFromWrongThreadException:只有創建視圖層次結構的原始線程可以觸及其視圖。 01-06 07:31:48.287:WARN/System.err(1581):at android.view.ViewRoot.checkThread(ViewRoot.java:2683) 01-06 07:31:48.287:WARN/System.err( 1581):at android.view.ViewRoot.requestLayout(ViewRoot.java:557) 01-06 07:31:48.287:WARN/System.err(1581):at android.view.View.requestLayout(View.java: 7918) 01-06 07:31:48.287:WARN/System.err(1581):at android.view.View.requestLayout(View.java:7918) 01-06 07:31:48.287:WARN/System。 err(1581):at android.view.View.requestLayout(View.java:7918) 01-06 07:31:48.287:WARN/System.err(1581):at android.view.View.requestLayout(View。 java:7918) 01-06 07:31:48.287:WARN/System.err(1581):at android.view.View.requestLayout(View.java:7918) 01-06 07:31:48.287:WARN/System.err(1581):在android.view.ViewGr oup.removeAllViews(ViewGroup.java:2146) 01-06 07:31:48.287:WARN/System.err(1581):at com.t.android.m.setupTabs(CAndroidUI.java:97) 01-06 07:31:48.287:WARN/System.err(1581):at com.t.android.m.DoRegistrationNotification(CAndroidUI.java:175) 01-06 07:31:48.287:WARN/System.err(1581) :at com.t.android.m.Handler $ 2.handleQchatServiceEvent(QServiceHandler.java:236) 01-06 07:31:48.287:WARN/System.err(1581):at com.t.android.m.LStub .onTransact(ServiceCallback.java:62) 01-06 07:31:48.287:WARN/System.err(1581):at android.os.Binder.execTransact(Binder.java:287) 01-06 07:31 :48.287:WARN/System.err(1581):at dalvik.system.NativeStart.run(Native Method)

有人能告訴我發生了什麼嗎?

+0

任何運氣這個呢?看起來你是從另一個線程調用tabhost而不是創建tabhost的UI線程。此代碼位於何處?在你的活動? – 2011-03-30 21:02:18

回答

0

我想你現在正在從另一個線程調用那段代碼。

另外,如果你的變量命名約定好的,您目前移除TabHost的意見和標籤的不是內容,而不是(我不知道這是否是你想要的)

相關問題