Java 隐藏按钮作为InfiniteView管理器位置的函数

Java 隐藏按钮作为InfiniteView管理器位置的函数,java,android,xml,android-viewpager,Java,Android,Xml,Android Viewpager,以防有人熟悉InfiniteViewPager。我也在那里开始了一个问题,但我希望这里的人可能有一些见解 InfiniteViewManager: 下面的代码设置我的InfiniteView管理器,并根据寻呼机的位置隐藏一个按钮。它可以工作,因为按钮开始消失,并在您滑动到新位置时出现,但当您滑动回“位置0”时,按钮重新出现。我相信这是因为当我回击时,位置不再是真正的“位置0”。我在日志中得到以下信息: 11-23 23:29:49.694 25109-25109/com.app.store D/

以防有人熟悉InfiniteViewPager。我也在那里开始了一个问题,但我希望这里的人可能有一些见解

InfiniteViewManager:

下面的代码设置我的InfiniteView管理器,并根据寻呼机的位置隐藏一个按钮。它可以工作,因为按钮开始消失,并在您滑动到新位置时出现,但当您滑动回“位置0”时,按钮重新出现。我相信这是因为当我回击时,位置不再是真正的“位置0”。我在日志中得到以下信息:

11-23 23:29:49.694 25109-25109/com.app.store D/InfinitePagerAdapter﹕ instantiateItem: real position: 3301
11-23 23:29:49.694 25109-25109/com.app.store D/InfinitePagerAdapter﹕ instantiateItem: virtual position: 1
这是启动我的寻呼机和OnPageChangeListener的代码

private void init(Context context) {
    View view = inflate(context, R.layout.listview_item, this);
    view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

    ViewPager viewPager;
    CustomPagerAdapter adapter;
    viewPager = (ViewPager) findViewById(R.id.view_pager);
    adapter = new CustomPagerAdapter(context);

    PagerAdapter wrappedAdapter = new InfinitePagerAdapter(adapter);
    viewPager.setAdapter(wrappedAdapter);

    //Hide the button unless showing image
    final Button selectButton = (Button) findViewById(R.id.selectButton);
    selectButton .setVisibility(GONE);

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

        }

        @Override
        public void onPageSelected(int position) {
             if(position==0)
                selectButton.setVisibility(View.GONE);
             else
                selectButton.setVisibility(View.VISIBLE);
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
基本上,我隐藏了“位置0”上的按钮,并使用OnPageChangeListener为每个其他位置显示它。但是,当我返回到“位置0”时,它不会将“位置0”识别为“位置0”,因此它不会隐藏按钮

编辑:我已经包含了我的XML

<com.antonyt.infiniteviewpager.InfiniteViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="500dp"
            android:scaleType="centerCrop">

            <android.support.v4.view.PagerTitleStrip
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                style="@style/custom_viewpagertitlestrip"
                android:layout_gravity="top" />

        </com.antonyt.infiniteviewpager.InfiniteViewPager>

使用此

if(position % size == 0)
      selectButton.setVisibility(View.GONE);
else
      selectButton.setVisibility(View.VISIBLE);

其中size是实际页面的总数。

我很好奇您从哪里获得大小?我无法解析符号。哦,我明白了。这只是一个整数。让我试试。效果很好。非常感谢。