问题描述
我正在尝试使用ViewModel将数据库与UI控制器分离,并防止持续使用数据。我已经寻找解决方案好几天了,没有任何进展。 我在我的应用程序中使用Firebase RecyclerAdapter,并且代码运行良好,但是我不知道如何使用RecyclerAdapter来实现LiveData Observer。 任何示例应用程序或代码片段都会对我有很大帮助。
这是我的片段中的示例代码
private void fetchValues() {
Query query1 = mDatabaseReference;
FirebaseRecyclerOptions<Course> options = new FirebaseRecyclerOptions.Builder<Course>()
.setQuery(query1,new SnapshotParser<Course>() {
@NonNull
@Override
public Course parseSnapshot(@NonNull DataSnapshot snapshot) {
return new Course(snapshot.child("course_title").getValue().toString(),snapshot.child("course_code").getValue().toString(),snapshot.child("course_lecturer").getValue().toString());
}
})
.build();
mFirebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Course,CourseViewHolder>(options){
@NonNull
@Override
public CourseViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
mCourseItemBinding = CourseItemBinding.inflate(LayoutInflater.from(getActivity()),parent,false);
View view = mCourseItemBinding.getRoot();
return new CourseViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull CourseViewHolder holder,int position,Course course) {
holder.bind(course);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(),String.valueOf(position),Toast.LENGTH_LONG).show();
}
});
}
};
mRecyclerView.setAdapter(mFirebaseRecyclerAdapter);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)