如何添加标题?

时间:2016-06-17 20:44:09

标签: java android xml string algorithm

我正在使用TabLayoutViewPager来创建标签,并让它发挥作用。出于某种原因,标签的标题没有显示。

Titles not showing 这很奇怪,因为每个标签上都应该有文字......

以下是代码:

public class MainActivity extends AppCompatActivity {

    MyPageAdapter pageAdapter;


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

        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
        tabLayout.setBackgroundColor(Color.rgb(45, 237, 192));
        tabLayout.addTab(tabLayout.newTab().setText("TITLE ONE"));
        tabLayout.addTab(tabLayout.newTab().setText("TITLE TWO"));
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);


        List<Fragment> fragments = new ArrayList<Fragment>();
        fragments.add(Enable.newInstance());
        fragments.add(selector.newInstance());

        pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);
        final ViewPager pager =
                (ViewPager) findViewById(R.id.viewpager);
        pager.setAdapter(pageAdapter);

        tabLayout.setupWithViewPager(pager);

        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                pager.setCurrentItem(tab.getPosition());
            }

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

            }

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

            }
        });
    }
}

这是MainActivity的JAVA。这是XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.curlybrace.ruchir.tabs.MainActivity"
    android:windowSoftInputMode="stateVisible|adjustPan|adjustResize">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />


    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>


</RelativeLayout>

同样,我的标签工作正常,但它们的标题没有显示。

1 个答案:

答案 0 :(得分:2)

删除两个addTab()来电。您使用的是setupWithViewPager(),这意味着标签来自ViewPager,标题来自getPageTitle()上的PagerAdapter