你假设我在viewpager
上有两个片段,我可以通过滑动在它们之间切换,例如Fragment1
和Fragment2
,
我该怎么做?我无法找到有关此解决方案的任何文档
答案 0 :(得分:1)
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageScrollStateChanged(int state) {}
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
public void onPageSelected(int position) {
// Show your Toast Here like
Toast.makeText(app.getBaseContext(),"Some string",
Toast.LENGTH_SHORT).show();
}
});
如果您想在片段中使用某种方法,请在每个要显示吐司的片段中使用此方法
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
}
答案 1 :(得分:0)
试试这个
viewpagerEvent.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//toast message here
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
答案 2 :(得分:0)
在OnPageChangeListener
上设置ViewPager
,以便在更改/滚动或选择页面时获得回调。
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
// Show fragment change/switch toast
Toast.makeText(this,"Fragment1",
Toast.LENGTH_LONG).show();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
答案 3 :(得分:-2)
在页面更改时,您必须为两个片段创建条件。尝试下面的活动类代码。
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if(position == 0)
// Toast For Fragment 1
if(position == 1)
// Toast For Fragment 2
}
@Override
public void onPageScrollStateChanged(int state) {
}
});