TabHostのsetOnClickListenerの表記の仕方を教えて下さい。
TabHostのsetOnClickListenerの表記の仕方を教えて下さい。
詳細:
お世話なっております。
下記の質問から派生した質問です。
「現在、「開いているタブボタン」を押した際に、設定しているWebViewの再読込(Top画面)を読み込むにはどのようにすればよいのでしょうか?」
下記のコードで目的の動きが可能になったのですが、コードが長くなるため他の短くなる書き方について勉強しております。
//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が表示される
}
});
例えば、以下のようにしたいのですが、onClick内の「i」の処理に困っているところです。
アドバイスを頂ければ幸いです。
for (int i = 0; i < 4; i++) {
mTabHost.getTabWidget().getChildAt(i).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if( i == 0){//ここがエラー
Log.e("mTabHost.getTabWidget()", "tab0をクリック");
mTabHost.setCurrentTab(1);
}else{
Log.e("mTabHost.getTabWidget()", "tab0以外をクリック");
mTabHost.setCurrentTab(0);
}
mTabHost.setCurrentTab(i);//ここがエラー
}
});
}