这是我的模特课。我有一个变量currentUser。当我更改当前用户时,recyclelerview列表应该刷新。但是,目前变量值正在发生变化,但视图并不令人耳目一新。
public class DashBoardViewModel extends BaseObservable {
private Activity context;
public static Enum currentUser = com.stampmemories.app.AppConstants.USER_ROLES.PROVIDER;
My Binding适配器是这样的:
@BindingAdapter({"menu_recycler", "current_user"})
public static void bindNavigationMenu(RecyclerView recyclerView, Activity context, Enum user) {
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.setHasFixedSize(true);
ArrayList<DrawerModel.Drawer.Sub_menu> navMenuList = new ArrayList<>();
NavMenuAdapter adapter = new NavMenuAdapter(context, navMenuList);
recyclerView.setAdapter(adapter);
if (user == USER_ROLES.CUSTOMER)
navMenuList.addAll(CommonFunction.getMenuList(context, false));
else if (user == USER_ROLES.PROVIDER)
navMenuList.addAll(CommonFunction.getMenuList(context, true));
adapter.notifyDataSetChanged();
}
答案 0 :(得分:0)
当您更改RGB
时,您需要致电currentUser
或notifyChange()
。一个好的做法是将notifyPropertyChanged(BR.currentUser)
包含一个可以调用这两个方法之一的setter(前者通知currentUser
上的所有属性都已更改,后者只是一个已经改变了。)< / p>