Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将选项卡侦听器设置为ActionBar_Android - Fatal编程技术网

Android 如何将选项卡侦听器设置为ActionBar

Android 如何将选项卡侦听器设置为ActionBar,android,Android,我试图在android上做一个标签布局,我试图在动作栏上添加标签,但它不起作用。我的问题是,在函数setTableListenerAndRoid.app.ActionBar.TablListener ActionBar;,的这一步中;,错误日志说无法将其转换为android.app.ActionBar$TabListener。我已经设置了setTableListenerThis,但是我的函数中的这个引用了片段,我不知道为什么 这就是我的全部职能: .SetTableListenerAndRoid

我试图在android上做一个标签布局,我试图在动作栏上添加标签,但它不起作用。我的问题是,在函数setTableListenerAndRoid.app.ActionBar.TablListener ActionBar;,的这一步中;,错误日志说无法将其转换为android.app.ActionBar$TabListener。我已经设置了setTableListenerThis,但是我的函数中的这个引用了片段,我不知道为什么

这就是我的全部职能:

.SetTableListenerAndRoid.app.ActionBar.TablListener操作栏

是错误的,因为actionBar没有实现listener,您必须在片段或活动中实现listener,然后在片段中调用示例:

setTabListener(this);
例如,这是活动的示例代码:

更新:

for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(YourFragment.this); }

谢谢,但是我的片段已经实现了ActionBar.TabListenerso use.setTabListenerYourFragment.this;
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {

    ViewPager viewPager=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ActionBar actionBar=getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        addTabs(actionBar);


        }
    private void addTabs(ActionBar actionBar)
    {
        ActionBar.Tab tab1=actionBar.newTab();
        tab1.setText("Tab 1");
        tab1.setTabListener(this);

        ActionBar.Tab tab2=actionBar.newTab();
        tab2.setText("Tab 2");
        tab2.setTabListener(this);

        ActionBar.Tab tab3=actionBar.newTab();
        tab3.setText("Tab 3");
        tab3.setTabListener(this);

        actionBar.addTab(tab1);
        actionBar.addTab(tab2);
        actionBar.addTab(tab3);
    }

    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {

    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

    }
}

}
for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(YourFragment.this); }