public class SoapBox extends TabActivity{
private TabHost tabHost;
private void setupTabhost()
{
tabHost=(TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab);
TabHost tabHost=getTabHost();
setupTabhost();
tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_space);
Intent intent1=new Intent().setClass(this, MySoapBox.class);
setupTab(new TextView(this), "My SoapBox", intent1);
Intent intent2=new Intent().setClass(this, FriendsSoapBox.class);
setupTab(new TextView(this),"Friends SoapBox", intent2);
Intent intent3=new Intent().setClass(this, Recommendations.class);
setupTab(new TextView(this),"Recommendations", intent3);
tabHost.setCurrentTab(0);
}
private void setupTab(final View view, final String tag, Intent intent)
{
View tabView=createTabView(tabHost.getContext(), tag);
TabSpec tabSpec=tabHost.newTabSpec(tag).setIndicator(tabView).setContent(intent);
tabHost.addTab(tabSpec);
}
private static View createTabView(final Context context,final String text)
{
View view= LayoutInflater.from(context).inflate(R.layout.tabs_bg,null);
TextView textView=(TextView)view.findViewById(R.id.tabsText);
textView.setText(text);
return view;
}
}
ここでは、そのタブボタン内にもう1つのタブウィジェットがあり、ネストされたタブウィジェットを1つ実装しました。あるタブを別のタブに切り替えて前のタブに戻ると、最初のタブにフォーカスが移りませんでした。
親タブを再度選択すると、ネストされたタブのフォーカスは常に最初のタブにあるはずです。コードをどこで間違えているのか教えてください。前もって感謝します。