Android 单击事件时,自动刷新SQLite中的其他选项卡
我正在编写一个简单的应用程序。我有两个标签,带碎片。第一个选项卡列出SQLite数据库中的所有记录,第二个选项卡只列出“收藏夹”。当我点击imageView(它显示的是一个星图)时,它的意思是“添加收藏夹”,它正在更新这个记录“收藏夹记录”,并显示在第二个选项卡上。 我的问题:我需要当我在Tab1时,当我单击imageView时,Tab2列表必须在单击的同时刷新(再次加载列表以进行更新)。当我点击一个按钮,查看图片时,如何加载选项卡2。。。在选项卡1中 我正在使用RecyclerView。 示例代码: 选项卡1片段Android 单击事件时,自动刷新SQLite中的其他选项卡,android,sqlite,android-fragments,android-recyclerview,android-adapter,Android,Sqlite,Android Fragments,Android Recyclerview,Android Adapter,我正在编写一个简单的应用程序。我有两个标签,带碎片。第一个选项卡列出SQLite数据库中的所有记录,第二个选项卡只列出“收藏夹”。当我点击imageView(它显示的是一个星图)时,它的意思是“添加收藏夹”,它正在更新这个记录“收藏夹记录”,并显示在第二个选项卡上。 我的问题:我需要当我在Tab1时,当我单击imageView时,Tab2列表必须在单击的同时刷新(再次加载列表以进行更新)。当我点击一个按钮,查看图片时,如何加载选项卡2。。。在选项卡1中 我正在使用RecyclerView。 示例
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;
}
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适配器
holder.imageFav.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.updateFav(itemId);
}
选项卡2片段
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;
}
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;
}
对于这种情况,您可以使用
androidjetpack
中的livedata和viewmodel。您能解释一下,我如何使用这些东西吗?或者你能给我一些例子链接吗?