不要在 ViewPager 中使用 PageListener
Don't work PageListener in ViewPager
我想为 ViewPager 设置 PageListener,但我的代码不起作用。
这是我的代码
Class 收听:
private class PageListener extends ViewPager.SimpleOnPageChangeListener {
public void onPageSelected(int position) {
currentPage = position;
if (currentPage == 0) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 1) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 2) {
if (DatabaseManager.getInstance(getActivity()).getAllHistoryCardsCountById(((DashboardActivity) getActivity()).getCarId()) <= 0) {
((DashboardActivity) getActivity()).showArcMenu();
}
}
}
}
并设置为 ViewPager:
vpPager.setOnPageChangeListener(new PageListener());
试试这个代码:
vpPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position)
{
currentPage = position;
if (currentPage == 0) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 1) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 2) {
if (DatabaseManager.getInstance(getActivity()).getAllHistoryCardsCountById(((DashboardActivity) getActivity()).getCarId()) <= 0) {
((DashboardActivity) getActivity()).showArcMenu();
}
}
}
@Override
public void onPageScrollStateChanged(int state)
{
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
});
我想为 ViewPager 设置 PageListener,但我的代码不起作用。
这是我的代码
Class 收听:
private class PageListener extends ViewPager.SimpleOnPageChangeListener {
public void onPageSelected(int position) {
currentPage = position;
if (currentPage == 0) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 1) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 2) {
if (DatabaseManager.getInstance(getActivity()).getAllHistoryCardsCountById(((DashboardActivity) getActivity()).getCarId()) <= 0) {
((DashboardActivity) getActivity()).showArcMenu();
}
}
}
}
并设置为 ViewPager:
vpPager.setOnPageChangeListener(new PageListener());
试试这个代码:
vpPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position)
{
currentPage = position;
if (currentPage == 0) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 1) {
((DashboardActivity) getActivity()).hideArcMenu();
} else if (currentPage == 2) {
if (DatabaseManager.getInstance(getActivity()).getAllHistoryCardsCountById(((DashboardActivity) getActivity()).getCarId()) <= 0) {
((DashboardActivity) getActivity()).showArcMenu();
}
}
}
@Override
public void onPageScrollStateChanged(int state)
{
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
});