12452


現在、「開いているタブボタン」を押した際に、設定しているWebViewの再読込（Top画面）を読み込むにはどのようにすればよいのでしょうか？

詳細：  
お世話なっております。  
今回、自分のコードではないので文章で説明させていただきます。  
現在、4タブ画面（FragmentTabHostを使用）にWebViewを設定。  
各画面ごとに最初にHPのTOP画面を表示されており、HP内の内容が読めるようにしています。  
例えるなら、各タブにニュースサイトが4つ当てはめらており、内部の記事が読めるようになっております。  
ご相談したいのは、すでに「開いているタブボタン」を押した際に「そのタブのTop画面」を表示させる（再読込？）する方法についてです。

TabFragment.javaのonActivityCreatedに以下のコードを追加し、タブ０を押した際にイベントを拾うところまでできたのですが、再読込する方法を模索している状況です。  
自分はまだ、Androidの勉強を初めて一年ちょっとの素人です。  
このところ理解不足から「思い込み」で時間を潰すことが多いことからご相談させていただきました。  
アドバイスを頂ければ幸いです。

[code]

    mTabHost.getTabWidget().getChidTabViewAt(0).setOnClickListener(new onClickListener()){
    //@Override
    public void onClick(View v){
    Log.e("mTabHost.getTabWidget()","タブ０が押された")
    }
    });
    
[/code]

補足させていただきます。  
ただ、上で記載した通り自分のコードではないのでぼかした感じでご容赦ください。

onActivityCreatedに

[code]

    mTabHost =(FragmentTabHost)this.〜（〜.tabhost）;
    mTabHost.setup(This.〜,this〜)
    
    for(int i=0; i<4;i++){
    mTabHost.addTab(mTabHost.newTabSpec(〜).〜fragments[i],null);
    }
    mTabHost.setCurentTab(0);
    
[/code]

動作ができるようになったのでコードを記載します。  
tab0の表示のときのみsetCurrentTab(1)→setCurrentTab(0)  
tab1〜３はsetCurrentTab(0)→setCurrentTab(各タブ（１，２，３）)で  
無理やり動作させているのですが、目的の動作が可能となりました。  
ありがとうございました。

[code]

    //tab0　再クリック時に表示画面を戻す
        mTabHost.getTabWidget().getChildAt(0).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("mTabHost.getTabWidget()", "tab0　クリック");
                mTabHost.setCurrentTab(1);//一度、tab1を表示させ（なんちゃって初期化？）すぐに下を表示させる)
                mTabHost.setCurrentTab(0);//これでtab0が表示される
            }
        });
        //tab1　再クリック時に表示画面を戻す
        mTabHost.getTabWidget().getChildAt(1).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("mTabHost.getTabWidget()", "tab1　クリック");
                mTabHost.setCurrentTab(0);//一度、tab0を表示させ（なんちゃって初期化？）すぐに下を表示させる)
                mTabHost.setCurrentTab(1);//これでtab1が表示される
            }
            });
    
[/code]


CC BY-SA 3.0
2015-07-17T11:27:58.157
12447
2015-07-19T23:28:47.610
2015-07-19T23:28:47.610
8670
8670
question
android android-fragments
現在、「開いているタブボタン」を押した際に、設定しているWebViewの再読込（Top画面）を読み込むにはどのようにすればよいのでしょうか？


`FragmentTabHost`のJavadocにも有用な情報がなかったのでソースも見てみました。

`mTabHost.setup()`で、引数3つ版の第3引数で、実際にどのコンテナIDにFragmentを貼るかを指定できます。なので、現在表示中の`Fragment`を取得するには、`setup()`の第2引数で渡したのと同じ`FragmentManager`に対して`findFragmentById()`を呼ぶことで、現在表示中の`Fragment`が取得できると思います。


CC BY-SA 3.0
2015-07-17T13:35:07.483
12452
2015-07-17T13:35:07.483
845
12447
answer