首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Android TabLayout时,单击标签不会切换当前标签。

使用Android TabLayout时,单击标签不会切换当前标签。
EN

Stack Overflow用户
提问于 2015-08-15 11:07:10
回答 3查看 14.2K关注 0票数 23

我应该自己设置onClicks吗?如果是,我应该在哪里设置?

代码语言:javascript
复制
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabMode="scrollable" />

<android.support.v4.view.ViewPager
    android:id="@+id/vpPager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-15 12:07:24

主要问题是,ViewPager覆盖了TabLayout。因此,您应该将其放在TabLayout下面

代码语言:javascript
复制
<androidx.viewpager.widget.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/sliding_tabs"/>

并从活动的onCreate方法中调用:

代码语言:javascript
复制
TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
tabLayout.setupWithViewPager(viewPager);

有关更多详细信息,请查看此示例:

https://github.com/chrisbanes/cheesesquare/blob/master/app/src/main/java/com/support/android/designlibdemo/MainActivity.java

https://github.com/chrisbanes/cheesesquare/blob/master/app/src/main/res/layout/include_list_viewpager.xml

票数 42
EN

Stack Overflow用户

发布于 2015-08-15 11:58:59

尝试使用选项卡布局选项卡选定的侦听器设置视图寻呼机当前项目。

代码语言:javascript
复制
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
    {
        @Override
        public void onTabSelected(TabLayout.Tab tab)
        {
            viewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab)
        {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab)
        {

        }
    });
票数 27
EN

Stack Overflow用户

发布于 2016-06-27 17:13:03

此问题已在支持库版本24.0.0中修复

查看链接:https://code.google.com/p/android/issues/detail?id=201659

您可以更新库。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32021112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档