我需要实现setOnPageChangeListener因为我需要隐藏某些item从ActionBar如果第一个片段显示给用户.
我的简单代码:
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int page) { //never called
// TODO Auto-generated method stub
if(page == 0)
{
isSearch = false;
}
else
{
isSearch = true;
}
supportInvalidateOptionsMenu();
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
viewPager.setCurrentItem(0); //not working
Run Code Online (Sandbox Code Playgroud)
如果第一个片段显示(page== 0),isSearch应false但是onPageSelected当我调试它从来没有获取调用.
请帮助我,谢谢你的帮助.
注意:我的适配器没有实现OnPageChangeListener.或者我应该实施它?这是必须的吗?
Swe*_*r ツ 21
如果将PageIndicator与Viewpager结合使用,则不会调用ViewPager的onPageChangeListener.您应该将页面更改侦听器设置为PageIndicator,并在页面更改时调用它.
indicator.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int page) {
if(page == 0)
{
isSearch = false;
}
else
{
isSearch = true;
}
supportInvalidateOptionsMenu();
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)
希望这会对你有所帮助
| 归档时间: |
|
| 查看次数: |
3665 次 |
| 最近记录: |