今天我要设置ViewPager。setOnPageChangeListener,我发现它已弃用。
当前回答
这招对我很管用:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
conterchange.setText(""+(1+position));
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
其他回答
: viewpage。setOnPageChangeListener现在已弃用。需要使用ViewPager。addOnPageChangeListener代替。
例如,
ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
你可以在这里找到这个。
你可以通过SimpleOnPageChangeListener来实现 守则如下:
private Fragment page = null;
/** Defining a listener for pageChange */
ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener(){
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager_selectPhotos + ":" + position);
System.out.println(page);
switch (position) {
case 0:
break;
case 1:
break;
default:
break;
}
}
};
/** Setting the pageChange listener to the viewPager */
_pager.setOnPageChangeListener(pageChangeListener);
如果需要,创建一个接口; FragmentLifecycle { onPauseFragment(); onsumefragment (); } 如所示,在viewpager中的每个片段中实现接口
公共类FragmentCast扩展Fragment实现FragmentLifecycle { @Override onPauseFragment() { 日志。我(标签,“onPauseFragment () "); Toast.makeText(getActivity(), "onPauseFragment():" + TAG, Toast.LENGTH_SHORT).show(); } @Override onResumeFragment() { 日志。我(标签,“onResumeFragment () "); Toast.makeText(getActivity(), "onResumeFragment():" + TAG, Toast.LENGTH_SHORT).show(); }
List this is how u user the addOnPageListener enter viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { int currentPosition = 0; @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { FragmentLifecycle fragmentLifecycleToShow =(FragmentLifecycle) viewPager.getAdapter().instantiateItem(viewPager, viewPager.getCurrentItem()); fragmentLifecycleToShow.onResumeFragment(); FragmentLifecycle fragmentLifecycleToHide =(FragmentLifecycle) viewPager.getAdapter().instantiateItem(viewPager, currentPosition); fragmentLifecycleToHide.onPauseFragment(); currentPosition = position; } @Override public void onPageScrollStateChanged(int state) { } }); Implement your calls in the onPauseFragment() or onResumeFragment()
这是新的方法,导航栏与viewpager它为我工作。
binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
switch (position) {
case 0:
binding.bottomNavigation.getMenu().findItem(R.id.nav_item_Home).setChecked(true);
break;
case 1:
binding.bottomNavigation.getMenu().findItem(R.id.nav_item_Booking).setChecked(true);
break;
case 2:
binding.bottomNavigation.getMenu().findItem(R.id.nav_item_Transaction).setChecked(true);
break;
case 3:
binding.bottomNavigation.getMenu().findItem(R.id.nav_item_HealthyFood).setChecked(true);
break;
}
}
});
这招对我很管用:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
conterchange.setText(""+(1+position));
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
推荐文章
- 如何在android中获得当前前景活动上下文?
- 如何在Android中获取当前日期?
- 获取Android设备名称
- 在WebView中上传文件
- 加载HTML文件到WebView
- Android:为什么视图没有maxHeight ?
- 如何获得具有已知资源名称的资源id ?
- 在Android上将字符串转换为整数
- 为什么“System.out。”println“工作在Android?
- WebView显示err_cleartext_not_allowed尽管站点是HTTPS
- Android M权限:对shouldShowRequestPermissionRationale()函数的使用感到困惑
- 为什么构建类型与产品风味不同?
- 我如何在一个片段中访问getSupportFragmentManager() ?
- 调试在哪里。Android Studio中的密钥存储库
- 从资产中读取文件