单击事件时,从 SQLite 自动刷新另一个选项卡

Posted

技术标签:

【中文标题】单击事件时,从 SQLite 自动刷新另一个选项卡【英文标题】:When Click Event, Auto Refresh Another Tabs from SQLite 【发布时间】:2020-04-13 02:56:56 【问题描述】:

我正在编写一个简单的应用程序。我有 2 个带有片段的标签。第一个选项卡列出了 SQLite 数据库中的所有记录,第二个选项卡仅列出了“收藏夹”。当我单击 imageView (它显示星形图像)时,它表示“添加收藏夹”,它正在更新此记录“收藏夹记录”并显示在第二个选项卡上。 我的问题:当我在 Tab1 时,我需要单击 imageView 时,Tab2 列表必须在单击的同时刷新(再次加载列表以进行更新)。当我在 Tab1 中单击一个按钮时,如何加载 Tab2、imageView sth... 我正在使用 RecyclerView。 示例代码: Tab1Fragment

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) 
        View view = inflater.inflate(R.layout.tab_ana, container, false);
        db = new DBHelper(getActivity());

        recyclerView = (RecyclerView) view.findViewById(R.id.recycleMain);
        dataFavori = db.getAllFavs();
        rvAdapter = new Tab1Adapter(getContext(), dataFavori);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        recyclerView.setAdapter(rvAdapter);
return view;

Tab1Adapter

holder.imageFav.setOnClickListener(new View.OnClickListener() 
   @Override
   public void onClick(View v) 
      db.updateFav(itemId);

Tab2Fragment

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) 
    View view = inflater.inflate(R.layout.tab_fav, container, false);
    db = new DBHelper(getActivity());

    recyclerView = (RecyclerView) view.findViewById(R.id.recycleMain);
    dataFavori = db.getOnlyFavs();
    fvAdapter = new Tab2Adapter(getContext(), dataFavori);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    recyclerView.setAdapter(fvAdapter);

    return view;

【问题讨论】:

【参考方案1】:

对于这种情况,您可以使用来自androidjetpack 的 livedata 和 viewmodel

【讨论】:

你能解释一下,我该如何使用这个东西?或者你能给我一些示例链接吗?

以上是关于单击事件时,从 SQLite 自动刷新另一个选项卡的主要内容,如果未能解决你的问题,请参考以下文章

layui实现关闭一个选项卡之后刷新另一个选项卡的数据

ExtJs 4.1-通过单击另一个视图中的树节点将选项卡添加到选项卡视图

我在 viewpager 选项卡中的片段不刷新

Tab 不会触发 keydown 或 keypress 事件

如何检测浏览器窗口/选项卡关闭事件?

仅刷新包含 iframe 的引导程序中的当前导航选项卡