2012-03-07 93 views
0

我有一個tabhost作爲我的應用程序的主屏幕,它工作得很好,我一直在使用它一段時間。順便說一下,每個選項卡都是單獨的活動。Tabhost監聽器計時問題

問題是,我需要知道用戶何時點擊了一個選項卡,並且我需要知道在屏幕上顯示活動之前。我很快就能夠找到它,在那裏我可以找出用戶何時點擊一個標籤,但是直到活動已經填滿屏幕後我才發現它。

在顯示與該選項卡關聯的活動內容之前,您是否可以想到任何有創意的方式來知道選項卡在tabhost中已更改?

+0

如果你真的想深入瞭解這個問題,這裏的代碼基本上是我正在使用的代碼作爲我的tabhost的框架:[link](http://mfarhan133.wordpress.com/2010/11/17/tablayouttabhost-tutorial-for-android-reusing-layout /) – milkboneUnderwear 2012-03-07 21:16:58

回答

0

嘗試擴展和TabWidget並覆蓋onFocusChange方法是這樣的:

public class MyTabWidget extends TabWidget{ 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     doSomethingBefore(); 
     super.onFocusChange(View v, boolean hasFocus); 
     doSomethingAfter(); 
    } 
    void doSomethingAfter { 
     ... 
    } 
    void doSomethingBefore{ 
     ... 
    } 
} 

然後參考,在你的XML完全合格的類,你應該G2G。

+0

聽起來很有希望,但是如何與第一條評論中發佈的鏈接代碼相符? – milkboneUnderwear 2012-03-07 21:48:44

+0

對我的佈局文件中包含tabwidget的上述類的引用是什麼樣的? – milkboneUnderwear 2012-03-07 22:38:22

+0

更改爲 petey 2012-03-08 12:21:27