时,为了保持向后兼容性我创建了一个类来访问操作栏与动作条交互:使用反射
进口android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.FragmentTransaction;
public class ReflectionBar{
static void getActionBar(Activity a) {
ActionBar bar = a.getActionBar();
bar.addTab(bar.newTab().setText("Tab 1").setTabListener(new TabListener() {
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}));
bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_USE_LOGO);
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayShowHomeEnabled(true);
// remove the activity title to make space for tabs
bar.setDisplayShowTitleEnabled(false);
return;
}
}
我使用调用它在我的活动类:
if (android.os.Build.VERSION.SDK_INT>10){
ReflectionBar bar = new ReflectionBar();
bar.getActionBar(this);
}
的问题是,我需要听onTabSelected在我的主要活动的电话,但我不知道如何设置它起来。我已经尝试了几件不成功的事情,非常感谢。