2012-03-07 56 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