Попытка создания перелистываемой вкладки с помощью PagerSlidingTabStrip, но заголовок вкладки не появляется, только содержимое макета идет

Привет, я попытался сделать макет вкладки Swipleable. Макет идет, и его можно перелистывать, но заголовок вкладки не появится. В моем коде MainActivity есть:

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

        // Initialization
        viewPager = (ViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(new TabsPagerAdapter(getSupportFragmentManager()));

        PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip) findViewById(R.id.tabs);
        tabsStrip.setViewPager(viewPager);

        tabsStrip.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            Toast.makeText(EditActivity.this, "Selected page position: " + position, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

}

И мой код TabsPagerAdapter выглядит так:

public class TabsPagerAdapter extends FragmentPagerAdapter {

// Tab titles
private String[] tabs = new String[] {"Profile", "Child"};

public TabsPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {

    switch (position) {
        case 0:
            // User fragment activity
            return new UserFragment();
        case 1:
            // Child fragment activity
            return new ChildFragment();
    }
    return null;
}

@Override
public int getCount() {
    return tabs.length;
}

@Override
public CharSequence getPageTitle(int position) {
    // Generate title based on item position
    return tabs[position];
}

}

И мой mainactivity_layout.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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/activity_no_padding"
android:paddingLeft="@dimen/activity_no_padding"
android:paddingRight="@dimen/activity_no_padding"
android:paddingTop="@dimen/activity_no_padding"
tools:context="com.samvardhan.org.vaccinationinfo.EditActivity">

<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    app:pstsShouldExpand="true"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:textSize="14sp"
    android:textColor="#000000"
    app:pstsDividerColor="@color/green"
    app:pstsIndicatorColor="@color/red"
    app:pstsUnderlineColor="@color/blue"
    app:pstsTabPaddingLeftRight="14dp"/>

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

</RelativeLayout>

И у меня есть два файла макета XML для моих двух вкладок. Скоро появится содержимое двух вкладок, но не заголовок вкладок.

Содержание TAB 1

Содержание TAB 2

Только содержание идет из вкладок, но без заголовка. Чего мне не хватает?

2 ответа

Решение

Добавить

android:layout_below="@+id/tabs"

на ваш ViewPager в xml,

Вы пытались изменить цвет текста ( android:textColor="#000000") com.astuetz.PagerSlidingTabStrip на другое значение в mainactivity_layout.xml

Другие вопросы по тегам