【问题标题】:Changing between action bar tabs by clicking a common button in android通过单击 android 中的常用按钮在操作栏选项卡之间进行切换
【发布时间】:2013-11-29 19:23:15
【问题描述】:

我有这 5 个选项卡,在第一个选项卡/片段中我有一个按钮,我希望能够通过单击此按钮切换到另一个选项卡。这是我的代码,其中包含选项卡:

actBar = getSupportActionBar();
    actBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    secPagerAdapter = new SectionsPagerAdapter(
            getSupportFragmentManager());

    vPager = (ViewPager) findViewById(R.id.pager);
    vPager.setAdapter(secPagerAdapter);

    vPager
    .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            actBar.setSelectedNavigationItem(position);
        }
    });

    Tab tab = actBar.newTab()
            .setIcon(R.drawable.home)
            .setTabListener(this);
    actBar.addTab(tab, true);

    tab = actBar.newTab()
            .setIcon(R.drawable.cart)
            .setTabListener(this);
    actBar.addTab(tab);

    tab = actBar.newTab()
            .setIcon(R.drawable.users)
            .setTabListener(this);
    actBar.addTab(tab);

    tab = actBar.newTab()
            .setIcon(R.drawable.products)
            .setTabListener(this);
    actBar.addTab(tab);

    tab = actBar.newTab()
            .setIcon(R.drawable.settings)
            .setTabListener(this);
    actBar.addTab(tab);

这为我创建了一个非常漂亮的带有选项卡和所有内容的操作栏,正如您所见,带有 home 可绘制对象的操作栏具有以下代码: actBar.addTab(tab, true); 因为这是真的,所以当这个活动打开时,它会从这个选项卡开始。所以...我在此选项卡中有一个按钮。当我点击此按钮时,我希望它直接滚动到第三个选项卡,其中用户可绘制为图标。我在这里看到过关于 tabhost 的事情,好吧,如果这是“唯一”的情况,我得说,我不知道 tabhost。我试图更改 true 布尔值以便能够在标签 onClick 之间切换,但它没有用。 提前致谢。我真的很感激。

【问题讨论】:

    标签: android button tabs onclick buttonclick


    【解决方案1】:

    使用这个内部按钮点击监听器

    actionBar.setSelectedNavigationItem(tab_position);
    

    【讨论】:

    • 说真的...我想我的眼里流出了一滴泪珠,我怎么会错过,非常感谢。
    • 将完全按照...它说还有 2 分钟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2021-11-28
    相关资源
    最近更新 更多