gpt4 book ai didi

android - ViewPager 不会刷新 Fragment

转载 作者:行者123 更新时间:2023-11-30 00:23:08 24 4
gpt4 key购买 nike

我有一个 tabView 和 viewPager
我使用一个(恰好一个)本地数据库来获取数据
当我对我的数据库进行更改时,至少我应该转到下一个(或返回)2 个选项卡以在我的 viewPager fragment 中发生更改(我有 4 个选项卡)
我尝试了很多方法,比如 POSITION_NONE 和 INVALIDATE() 以及......但没有改变!!!
任何人都可以帮助我如何刷新我的 fragment (在当前页面和其他页面上)?

public class FragmentList extends Fragment {
public static RecyclerView TaskRecyclerView;
private View view;
private AdapterTask adapterTask;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view=inflater.inflate(R.layout.fragment_tasks,container,false);
TaskRecyclerView =(RecyclerView)view.findViewById(R.id.task_recycler);
DatabaseOpenHelper databaseOpenHelper=new DatabaseOpenHelper(getContext());
adapterTask =new AdapterTask(getActivity(),databaseOpenHelper.getTasks());
TaskRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false));
TaskRecyclerView.setAdapter(adapterTask);
return view;
}

public static FragmentList newInstance() {

Bundle args = new Bundle();

FragmentList fragment = new FragmentList();
fragment.setArguments(args);
return fragment;
}
}

正如我所说,在我更改至少 2 个选项卡之前没有发生任何更改(即使在 PAGE SELECTED() 中)...我的意思是,例如,当我在第 1 个选项卡中时,我转到第 2 个选项卡,然后没有.3,因此 3 号刷新为新数据,当我返回 1 号选项卡时它也刷新
但是标签 2 仍然是旧数据!!!
我应该转到 4 号选项卡,然后返回查看 2 号选项卡的更改。

重要更新
正如我发现的那样,我的问题是 offScreenPageLimit() 没有达到 0。
我怎么能把它变成 0 呢?

最佳答案

使用 onPageSelected 的 notify 方法刷新数据。您的代码将是

adapterTask.notify();

关于android - ViewPager 不会刷新 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45905958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com