При реализации архитектуры MVVM с привязкой данных и динамическими данными возникают проблемы с получением ошибки "невозможно найти метод символов setUser_list_user_view (User_List_UserViewModel)" Я много раз перестраивал, очищал и другие вещи, но эта ошибка не происходит .. Я делаю это первый раз, поэтому не уверен, что реализовали правильный метод. Ниже мой код. Спасибо заранее за помощь
User_List_UserViewModel.java
public class User_List_UserViewModel extends AndroidViewModel {
private User_List_UserRepository mRepository;
private LiveData<List<User>> mAllUser;
public User_List_UserViewModel(Application application) {
super(application);
mRepository = new User_List_UserRepository(application);
mAllUser = mRepository.getmUserlist();
}
LiveData<List<User>> getAllWords() {
return mAllUser;
}
public void insert(User user) {
mRepository.insert(user);
}
}
User_List_UserAdapter.java
public class User_List_UserAdapter extends RecyclerView.Adapter<User_List_UserAdapter.User_List_ViewHolder> {
private LayoutInflater mInflater;
private List<User_List_UserViewModel> user_list_userViewModels;
class User_List_ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private PeopleListItemBinding mBinding;
private TextView mFirst_NameTextView;
public User_List_ViewHolder(PeopleListItemBinding itemBinding) {
super(itemBinding.getRoot());
mBinding = itemBinding;
}
public void bind(User_List_UserViewModel user_list_userViewModel) {
this.mBinding.setUser_list_user_view(user_list_userViewModel);
mBinding.executePendingBindings();
}
public PeopleListItemBinding getPeopleListItemBInding() {
return mBinding;
}
@Override
public void onClick(View v) {
}
}
public User_List_UserAdapter(List<User_List_UserViewModel> newsList) {
this.user_list_userViewModels = newsList;
}
@NonNull
@Override
public User_List_ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (mInflater == null) {
mInflater = LayoutInflater.from(parent.getContext());
}
PeopleListItemBinding peopleListItemBinding = DataBindingUtil.inflate(mInflater, R.layout.people_list_item, parent, false);
return new User_List_ViewHolder(peopleListItemBinding);
}
@Override
public void onBindViewHolder(@NonNull User_List_ViewHolder holder, int position) {
User_List_UserViewModel userViewModel = user_list_userViewModels.get(position);
holder.bind(userViewModel);
}
@Override
public int getItemCount() {
if (user_list_userViewModels != null)
return user_list_userViewModels.size();
else return 0;
}
}
People_List_Fragment.java
public class People_List_Fragment extends Fragment {
List<User_List_UserViewModel> user_list = new ArrayList<>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup
container, Bundle savedInstanceState) {
final RecyclerView rv = (RecyclerView) inflater.inflate(
R.layout.people_list, container, false);
rv.setLayoutManager(new LinearLayoutManager(rv.getContext()));
rv.setAdapter(new User_List_UserAdapter(user_list));
return rv;
}
}