2012-03-07 3 views
0

私は自分のアプリケーションのメイン画面としてタブホストを持っていて、それは素晴らしい作品で、私はしばらくそれを使ってきました。ところで、各タブは別々のアクティビティです。Tabhostリスナータイミングの問題

問題は、ユーザーがタブをクリックしたときを知る必要があり、アクティビティが画面に表示される前に知る必要があることです。ユーザーがTabをクリックしたときにわかる場所で、すぐに動作させることができましたが、アクティビティが既に画面に表示された後でないとわかりません。

タブに関連付けられたアクティビティコンテンツが表示される前に、タブホストでタブが変更されたことを知るための創造的な方法はありますか?

+0

本当に掘り下げたいのであれば、ここのコードは基本的に私のタブホストのフレームワークとして作業しているコードです:[link](http://mfarhan133.wordpress.com/2010/11/17/tablayouttabhost-tutorial-for-android-reusing-layout /) – milkboneUnderwear

答えて

0

延長し、TabWidget試してみて、のようなものにonFocusChangeメソッドをオーバーライド:完全修飾あなたのxml内のクラスとあなたがG2Gである必要があり、その後

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{ 
     ... 
    } 
} 

参照。

+0

有望ですが、最初のコメントの下にリンクのコードにどのようにフィットしますか? – milkboneUnderwear

+0

上記のクラスへの参照は、tabwidgetを含むレイアウトファイルでどのように見えますか? – milkboneUnderwear

+0

petey

関連する問題