我的主要活动中有一个recyclerview和一个浮动操作按钮。我有两个viewpager片段,只有一个linearlayout。在 addOnPageChangeListener 中,我正在添加一个监听器,该监听器填充recyclerview并在选择TAB 1时实现onItemClick on浮动操作按钮,并且仅在选择TAB 2时填充recyclelerview并隐藏fab。 在我的两个片段中,我只是夸大了相应的布局。
当我打开活动时,recyclerview为空。当我选择另一个选项卡时,recyclerview开始工作并填充另一个选项卡选项卡2.当我现在选择TAB 1时,它也按预期填充,并且fab上的clickListener也按预期工作。
但是为什么第一次回收者视图是空的。滑动也不起作用。有解决方案吗我没有在每个片段中创建recyclerview,因为我要使用fab按钮更新它。我的fab按钮位于mainActivity中。我不想将fab按钮放在第一个片段中,因为这意味着当浏览片段时,默认的fab动画将会消失。
答案 0 :(得分:1)
加入派对的时间不多,但你可以做这样的事情......
mPager.addOnPageChangeListener(new OnPageChangeListener() {
boolean first = true;
@Override
public void onPageScrolled(final int position, final float positionOffset,
final int positionOffsetPixels) {
if (first && positionOffset == 0 && positionOffsetPixels == 0){
onPageSelected(0);
first = false;
}
}
@Override
public void onPageSelected(final int position) {
setItem(item.get(position));
}
@Override
public void onPageScrollStateChanged(final int state) {
}
});
在onPageScrolled方法中,您可以检查它是否是第一项,并相应地设置页面。希望这能解决你的问题。
答案 1 :(得分:0)
似乎您只是在onPageSelected
方法内从服务器加载数据。这不会在第一次viewpager
加载时触发。仅在页面更改时。
您必须在此方法之外加载初始数据。