我有一个带标签的活动,在每个标签中我加载相同的片段以显示不同的数据列表。
尽管它是相同的片段,因此适配器是相同的,并且信息的加载方式与片段的RecyclerView
中的一个不显示信息相同。
我知道数据已经到了,因为我调试了它,也因为它会在屏幕上显示一条文字,说明没有数据显示。
我有4个或5个标签,前两个总是加载得很好。但在其他情况下,onCreateView
似乎没有完全执行。
这是从onCreateView
。
if (offers.size() != 0)
noOffers.setVisibility(View.GONE); //this gets execute, it hide some text that otherwise would be on the left image
else
content.setVisibility(View.GONE);
this.offers = offers;
MyOffersAdapter adapter = new MyOffersAdapter(getActivity(), this.offers, user);
rvOffers.setAdapter(adapter);
rvOffers.setLayoutManager(new LinearLayoutManager(getActivity())); //this part is getting executed in all the tabs
虽然到达最后一行,但适配器的onCreateViewHolder
和onBindViewHolder
都不会执行第二个以外的选项卡。
这是我用来创建设置标签后的代码:
viewPager.setAdapter(adapter);
tabs.setupWithViewPager(viewPager);
viewPager.setOffscreenPageLimit(5);
tabs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
有没有办法可以在单击选项卡时强制执行这些方法?或者我配置错误了什么?