Как очистить вкладки в TabHost Android? - PullRequest
3 голосов
/ 25 июня 2010

Я пытался сбросить вкладки в Tabhost на платформе Android, и каждый раз, когда я пытаюсь это сделать, я получаю какие-то проблемы или другие.

Ниже приведен код, который я использую:

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

Я получаю следующее исключение:

e01-06 07: 31: 48.287: WARN / System.err (1581): android.view.ViewRoot $ CalledFromWrongThreadException: только исходный поток, создавший иерархию представлений, может касаться его представлений.01-06 07: 31: 48.287: WARN / System.err (1581): на 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): на android.view.View.requestLayout (View.java:7918) 01-06 07: 31: 48.287: WARN / System.err (1581):в android.view.View.requestLayout (View.java:7918) 01-06 07: 31: 48.287: WARN / System.err (1581): в android.view.View.requestLayout (View.java:7918) 01-06 07: 31: 48.287: WARN / System.err (1581): на android.view.View.requestLayout (View.java:7918) 01-06 07: 31: 48.287: WARN / System.err (1581): наandroid.view.ViewGroup.removeAllViews (ViewGroup.java:2146) 01-06 07: 31: 48.287: WARN / System.err (1581): в com.t.android.m.setupTabs (CAndroidUI.java:97) 01-06 07: 31: 48.287: WARN / System.err (1581): на com.t.android.m.DoRegistrationNotification (CAndroidUI.java:175) 01-06 07: 31: 48.287: WARN / System.err (1581): на com.t.android.m.Handler $ 2.handleQchatServiceEvent (QServiceHandler.java:236) 01-06 07: 31: 48.287: WARN / System.err (1581): на ком.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 (собственный метод)

Может кто-нибудь подсказать мне, что происходит?

1 Ответ

0 голосов
/ 16 мая 2011

Я думаю, что вы в настоящее время вызываете этот кусок кода из другого потока.

Кроме того, если ваше соглашение о присвоении имен в порядке, вы в настоящее время удаляете представления TabHost, а не содержимое вкладок (я не уверен, что это то, что вам нужно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...