我有一个viewpager,每个都有两个片段,一个RecyclerView从JSON获取数据,另一个从sqlite DB获取,在第一个回收器中有一个最喜欢的按钮,它插入到数据库中,但是当刷到下一个片段时未更新我希望它在同一时间更新
答案 0 :(得分:0)
对你的第二个Fragmnet使用setUserVisiblityHint函数,每当片段可见时它会调用,在这里你可以更新你的适配器, 当你滑动你的片段时
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
get your data from DB and notify adapter here
}
}
答案 1 :(得分:0)
在View Pager中加载第一个片段加载第二个片段视图。这是查看寻呼机的默认行为。所以将第二个片段值加载到setUserVisiblityHint中的recycleler视图值。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
// TODO Auto-generated method stub
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser){
// Load the value to recyclerview
}
}
答案 2 :(得分:0)
由于您只有两个片段,因此OnCreateView()
只会被调用一次。
因此,您应该在RecyclerView
中添加负责更新OnResume()
的代码:
@Override
public void onResume() {
super.onResume();
// Update your RecyclerView from your database
}