我有一個TabWidget
嵌套在HorizontalScrollView
內。我正在編程設置活動/當前選項卡(我沒有問題)。我的問題是,TabWidget
不滾動顯示新的活動選項卡。Android - TabWidget的程序化滾動
示例 - 我有9個選項卡,在任何給定時間只顯示3個(因此認爲選項卡的3'頁')。我在標籤1(第1頁)上。我以編程方式將當前選項卡設置爲選項卡8(第3頁)。標籤內容切換正常(即我現在看到標籤8的內容),但是,頂部的標籤仍然顯示標籤1,2和3.如果我手動向右滾動,我會看到標籤8 (正確突出顯示)。我想自動滾動TabWidget
,以便顯示當前活動的選項卡。
任何想法?
編輯示例源:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
String tag;
/* logic to populate tag from intent*/
/* reason for this is because I know the tag of the tab I need,
not the index num. of tab */
getTabHost().setCurrentTabByTag(tag);
int i = getTabHost().getCurrentTab();
getTabWidget().setCurrentTab(i);
getTabWidget().focusCurrentTab(i);
}
@Vinay我有*一些*成功的(如10次中的1次)。由於它是如此的sparadic,它使我相信,也許有一個競爭條件/時間/異步問題。基本上在'TabHost'層面上,我打電話給setCurrentTabByTag(標籤),然後說我= getCurrentTab()。然後在'TabWidget'上,我調用setCurrentTab(i)和focusCurrentTab(i)。任何見解? – Gimbl 2011-05-26 15:42:19
當它不起作用時究竟發生了什麼?它是否會將它設置爲一些與您想要的選項卡相距甚遠的選項卡?它有沒有一種模式,它混亂了?爲什麼不提供相關的代碼。這對我來說可能是最簡單的方法,以查看可能出現的問題。 – Vinay 2011-05-26 20:13:03
@Vinay我編輯原始文章以包含代碼。我很抱歉,由於我之前很匆忙,因此我的意思不是更清楚我的意思。通過**一些**成功我的意思是有時水平滾動的標籤欄滾動到新的當前標籤,有時候,標籤不會移動以反映新選擇的標籤。 「framelayout」內容可以正確切換,當前標籤可以正確選擇/突出顯示,但是有時候'tabhost'會'滾動'顯示當前標籤,有時候它不會移動。 – Gimbl 2011-05-27 00:44:26