我有一个ViewPager
的监听器:
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
}
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
if (position == 0) {
tv.setText("first Item");
} else
tv.setText(titleStringArray[position]);
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
我需要的是:电视是TextView
之上的ViewPager
,目前用户移动页面时文本会发生变化(即使注册的动作很少)。我想仅在页面向左或向右移动50%或更高时才更改文本。有什么建议吗?
答案 0 :(得分:3)
我解决了如下,
初始化变量。
static int mPageLastScreen=0;
然后在onPageScrolled方法中添加if语句。
viewPager.setOnPageChangeListener(new OnPageChangeListener()
{
public void onPageScrollStateChanged(int state)
{}
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
if(mPageLastScreen!=position)
{
Log.d("page scrolled", "Page scrolled");
mPageLastScreen=position;
}
}
public void onPageSelected(int position)
{}
});
我知道这是迟到的回复。 希望它可以帮助某人:)