我正在尝试创建一个自定义TabHost
。我想调用TabWidget
的setTabSelectionListener()
方法。
但我有以下错误:
TabWidget.OnTabSelectionChanged无法解析为类型
这是我的测试代码:
public class CustomTabHost {
public CustomTabHost(Activity activity) {
TabWidget tab_widget = (TabWidget) activity.findViewById(R.id.tab_widget);
tab_widget.setTabSelectionListener(new TabWidget.OnTabSelectionChanged() {
public void onTabSelectionChanged(int tabIndex, boolean clicked) {
}
});
}
}
我使用的是Eclipse和Android 2.2。
提前感谢!
与其使用setTabSelectionListener,不如使用.OnchangeTabListener,如图所示:如何在android中使用TabHost.OnTabChangeListener?
public class ListFragment extends Fragment implements OnTabChangeListener{
View v;
TabHost tabHost;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
v = inflater.inflate(R.layout.main_menu_libraries, container, false);
tabHost=(TabHost) v.findViewById(R.id.tabHost);
tabHost.setup();
TabSpec spec1=tabHost.newTabSpec("Tab 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("About",getResources().getDrawable(R.drawable.android));
TabSpec spec2=tabHost.newTabSpec("Tab 2");
spec2.setContent(R.id.tab2);
spec2.setIndicator("Blog",getResources().getDrawable(R.drawable.android));
tabHost.addTab(spec1);
tabHost.addTab(spec2);
tabHost.setOnTabChangedListener(this);
return v;
}
@Override
public void onTabChanged(String arg0) {
if (tabHost.getCurrentTab()==0)
{
//your code here
}
if (tabHost.getCurrentTab()==1)
{
//your code here
}
同样在它说//你的代码的部分。。。试着调用一个扩展Fragment的新类,并用菜单扩展特定的Fragment!