firebase - 在android中使用FirebaseUI for firebase recyclerView
问题描述
我是 android 开发的新手,在使用 firebase ui 时遇到了一些问题。我想从我的 firebase 数据库中检索数据并将其显示在我的 recyclerView 上。但我在制作 FirebaseRecyclerAdapter 时经常遇到错误。 这是我的代码示例:
public class UsersActivity extends AppCompatActivity {
private Toolbar userToolbar;
private RecyclerView usersList;
private DatabaseReference mUsersDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_users);
userToolbar = (Toolbar) findViewById(R.id.users_toolbar);
setSupportActionBar(userToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Users");
mUsersDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
usersList = (RecyclerView) findViewById(R.id.users_list);
usersList.setHasFixedSize(true);
usersList.setLayoutManager(new LinearLayoutManager(this));
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Users, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
Users.class,
R.layout.single_user_list_layout,
UsersViewHolder.class,
mUsersDatabase
) {
@Override
protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull Users model) {
holder.setName(model.getName());
}
@NonNull
@Override
public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
}
};
usersList.setAdapter(firebaseRecyclerAdapter);
}
public static class UsersViewHolder extends RecyclerView.ViewHolder
{
View mView;
public UsersViewHolder(@NonNull View itemView) {
super(itemView);
mView = itemView;
}
public void setName(String name)
{
TextView userNameView = (TextView) mView.findViewById(R.id.single_user_name);
userNameView.setText(name);
}
}
}
我得到的错误是这样的:
请帮忙!!
解决方案
Sorry wanted to comment but i ain't got enough points to do so.
Try this first, if it doesnt work try using FirebaseRecyclerOptions
(The latest version (3.x) of FirebaseUI implements a different method ofinitializing a FirebaseRecyclerAdapter than previous versions.)
Make your " firebaseRecyclerAdapter " variable global, so you would have something like this.
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
Users.class,
R.layout.single_user_list_layout,
UsersViewHolder.class,
mUsersDatabase
)
推荐阅读
- flutter - Flutter 重复文件包和依赖
- gcc - 使用 gstreamer 构建静态二进制文件时遇到问题
- python - 使用来自模型外部的数据填充 Django 表单下拉列表
- python - StandardScaler:TypeError:fit()缺少1个必需的位置参数:'X'
- node.js - TypeError:配置文件不是构造函数
- asp.net - 如何在主从 CRUD 上查看特定 id 的记录?
- android - Git 和 Android Studio 的奇怪行为
- azure-devops - Azure Devops - 为每个部署环境创建一个映射变量
- docker - 如何在 OpenJ9/Alpine 容器上使用 JProfiler 12.0.3 设置远程分析
- java - Java随机名称生成器,选择单词的长度