当我从片段 A 部分导航时,有没有办法在片段 B 中启动方法?
Is there a way to start a method in fragment B when i partialy navigated from fragment A?
我有 2 个片段(选项卡片段),A 和 B。有没有办法检测我何时从 A 部分滑动到 B 以在 B 中启动异步任务?我想更新片段 B,类似于 Facebook android 应用程序正在做的事情(你有片段 A,当你开始滑动到片段 B 时,你会看到它正在更新。如果片段不可能,我的其他选择是什么?非常感谢!
我假设您使用的是 ViewPager 作为选项卡片段布局。您正在寻找的方法在 viewPager.OnPageChangedListener 中。
这是参考:
ViewPager.OnPageChangeListener
我举个例子:
myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
Log.d("onPageScrolled","position: " + i + "-posOffset: " + v + "-pixOffset " + i2);
}
@Override
public void onPageSelected(int i) {
}
@Override
public void onPageScrollStateChanged(int i) {
Log.d("onPageScrollState","changed");
}
});
特别是,在页面滚动期间多次调用 onPageScrolled 方法(您应该验证您的异步任务只调用一次,参数 v 和 i2)
我有 2 个片段(选项卡片段),A 和 B。有没有办法检测我何时从 A 部分滑动到 B 以在 B 中启动异步任务?我想更新片段 B,类似于 Facebook android 应用程序正在做的事情(你有片段 A,当你开始滑动到片段 B 时,你会看到它正在更新。如果片段不可能,我的其他选择是什么?非常感谢!
我假设您使用的是 ViewPager 作为选项卡片段布局。您正在寻找的方法在 viewPager.OnPageChangedListener 中。 这是参考: ViewPager.OnPageChangeListener
我举个例子:
myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
Log.d("onPageScrolled","position: " + i + "-posOffset: " + v + "-pixOffset " + i2);
}
@Override
public void onPageSelected(int i) {
}
@Override
public void onPageScrollStateChanged(int i) {
Log.d("onPageScrollState","changed");
}
});
特别是,在页面滚动期间多次调用 onPageScrolled 方法(您应该验证您的异步任务只调用一次,参数 v 和 i2)