gpt4 book ai didi

android - ViewPager onPageSelected 从未调用过

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:48 27 4
gpt4 key购买 nike

我需要实现 setOnPageChangeListener因为我需要隐藏某些 item来自 ActionBar如果第一个 fragment 显示给用户。

我的简单代码:

    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

如果显示第一个 fragment (page == 0),isSearch应该是 false但是 onPageSelected调试时从未被调用。

请帮助我,谢谢你的帮助。

注意:我的适配器实现OnPageChangeListener .或者我应该实现它吗?是必须的吗?

最佳答案

如果您将 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

}
});

希望对你有帮助 ツ

关于android - ViewPager onPageSelected 从未调用过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27199526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com