简体   繁体   English

查看分页器指示器未出现-Android

[英]View pager indicator doesn't appear - Android

I'm using this library to create an indicator for a viewPager (in Android). 我正在使用这个库为viewPager创建一个指示器(在Android中)。 I simply want to show to the user that he can change the view. 我只是想向用户表明他可以更改视图。 For some strange reason, even when I create the view and set it up, it doesn't show. 由于某些奇怪的原因,即使我创建视图并进行设置,它也不会显示。 Here's the code: 这是代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    viewPager = (ViewPager) findViewById(R.id.instructionViewPager);
    adapter = new InstructionPagerAdapter(getSupportFragmentManager());
    viewPager.setAdapter(adapter);

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

        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    };

    viewPager.addOnPageChangeListener(listener);

    ViewPagerIndicator viewPagerIndicator = (ViewPagerIndicator) 
    findViewById(R.id.view_pager_indicator);
    viewPagerIndicator.setupWithViewPager(viewPager);
    viewPagerIndicator.addOnPageChangeListener(listener);

And I have it in the .xml: 我在.xml中有它:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    android:orientation="vertical">

    <TextView
        android:id="@+id/biometricTextLabel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="84dp"
        android:layout_marginRight="84dp"
        android:layout_marginTop="38dp"
        android:text="Biometric"
        android:textAlignment="center"
        android:textColor="@android:color/white"
        android:textSize="18sp" />


    <android.support.v4.view.ViewPager

        android:id="@+id/instructionViewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/view_pager_indicator"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/biometricTextLabel"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="10dp" />

    <Button
        android:id="@+id/instructionbContinue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/instructionbBack"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="12dp"
        android:layout_marginLeft="60dp"
        android:layout_marginRight="60dp"
        android:text="Continue"
        android:textColor="@android:color/background_light" />

    <com.github.vivchar.viewpagerindicator.ViewPagerIndicator
        android:id="@+id/view_pager_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:delimiterSize="8dp"
        app:itemSize="8dp"
        android:layout_above="@id/instructionbContinue"
        android:layout_marginBottom="30dp"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/instructionbBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="15dp"
        android:layout_marginStart="15dp"
        android:background="@android:color/transparent"
        android:text="Go back"
        android:textColor="@android:color/white" />

</RelativeLayout>

What am I doing wrong? 我究竟做错了什么?

EDIT: I've added all the xml of the layout. 编辑:我添加了布局的所有xml。

EDIT 2: I add the pageAdapter, it's simple: 编辑2:我添加pageAdapter,很简单:

public class InstructionPagerAdapter extends FragmentPagerAdapter {

List<Fragment> fragments;

public InstructionPagerAdapter(FragmentManager fm) {
    super(fm);
    this.fragments = new ArrayList<Fragment>();
}

public void addFragment(Fragment fragment) {
    this.fragments.add(fragment);
}

@Override
public Fragment getItem(int arg0) {
    return this.fragments.get(arg0);
}

@Override
public int getItemPosition(Object object) {
    return POSITION_UNCHANGED;
}

@Override
public int getCount() {
    return this.fragments.size();
}

} }

change the layout like below template , this works good for me , 像下面的模板一样更改布局,这对我很有用,

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />
    <com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/indicator"
        android:padding="10dip"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        />
</LinearLayout>

It seems you have not added any fragment to your adapter yet. 似乎您尚未向适配器添加任何片段。 If you are adding the fragment to you adapter after assigning adapter to your viewpager, then try to notify your adapter. 如果在将适配器分配给viewpager之后将片段添加到适配器,请尝试通知适配器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM