我一直在使用Google的ViewPager制作屏幕幻灯片(http://developer.android.com/training/animation/screen-slide.html)。如果您熟悉它,您就会知道,当垂直握持时,正常尺寸的手机会在底部显示"上一个"和"下一个"按钮。点击这些将向后或向前移动页面,具体取决于。
在第一页上,您会注意到"上一个"显示为灰色(禁用),您只能继续前进。
然而,在最后一页,发生了一些不同的事情:"下一步"更改为"完成"并且仍然处于启用状态(可单击),即使它之后没有任何内容。这让我很烦恼。我希望禁用"下一步"/"完成"按钮,但找不到方法。
当到达最后一页时,我尝试menu.findItem(R.id.action_next).setEnabled(false);
,但这只是一个NullPointerException
。
如何像默认情况下的"上一个"按钮一样将"下一步"按钮变灰?
不知道为什么你会得到一个NullPointerException
,除了也许你用错误Activity
打电话给Menu.findItem
。确保您在ScreenSlideActivity
中调用它。但就禁用它而言,您可以通过根据总页数检查当前页面来做到这一点。
item.setEnabled(mPager.getCurrentItem() != mPagerAdapter.getCount() - 1);
这是一个视频