2013-02-09 410 views
-1

我非常需要允許用戶在可變選項卡主機(完全是選項卡名稱,而不是標籤主體本身內的某處)長按一下後執行某些操作。經過大量搜索和我自己的試用後,我發現了一個工作解決方案,以及一個正常的onClick。OnClick TabHost中的選項卡按鈕

我還需要存儲當前點擊標籤的標籤標題(可能在很多情況下需要它)。

回答

0

我們TabHost已經創建之後,我們應該這樣做:

// TabHost ourTabHost; 
    // ... Create your tab host ... 
    // Now on click listener for all of tabs 

    TabWidget tw = ourTabHost.getTabWidget(); 
    int childCount = tw.getChildCount(); 
    for (int i = 0; i < childCount; i++) { 
     View child = (View) tw.getChildAt(i); 
     child.setOnLongClickListener(this); 
    } 

但有一個奇怪的事情,儘管onClicks工作,現在我們不能使用「child.getTag卡名稱() 」。它會給我們NULL(我不確定,爲什麼?)。 所以最後的工作,但不是太漂亮的解決方案將是:

​​