gpt4 book ai didi

android - FirebaseRecyclerAdapter 不适用于数据绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:24 24 4
gpt4 key购买 nike

我将 RecyclerViewdatabindings 一起使用,但是当我第一次运行应用程序时没有任何显示,然后在更新一些内容或通过 更新应用程序之后即时运行内容出现。

我的 ViewHolder:

class MyViewHolder extends RecyclerView.ViewHolder {
private ItemBinding mBinding;

public MyViewHolder(View itemView) {
super(itemView);
mBinding = DataBindingUtil.bind(itemView);
}

ItemBinding getBinding() {
return mBinding;
}
}

我的适配器:

public class MyAdapter extends FirebaseRecyclerAdapter<MyModel, MyViewHolder> {
public MyAdapter(Query ref) {
super(MyModel.class, R.layout.my_item, MyViewHolder.class, ref);
}

@Override
protected void populateViewHolder(MyViewHolder viewHolder, MyModel model, int position) {
ItemBinding binding = viewHolder.getBinding();
binding.setMyModel(model);
binding.executePendingBindings();
}
}

我发现在其他一些问题中我需要调用 binding.executePendingBindings() 我没有成功。

编辑

我刚刚添加了一个日志调用:

Log.d(BuildConfig.TAG, "called populateViewHolder " + position);

关于 populateViewHolder 方法。永远不会打印日志。

编辑2

我如何初始化我的 recyclerView 的方式:

// onCreate
LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.VERTICAL);

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view)
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(llm);
mRef = FirebaseDatabase.getInstance().getReference().child(CHILD_TREE)

// onStart
mAdapter = new MyAdapter(mref.orderByChild("date"));
mRecyclerView.setAdapter(mAdapter);

最佳答案

来 self 的评论:

Have you already looked at the firebase/FirebaseUI-Android issue..? Setting the RecyclerView height from wrap_contentto match_parent solved the problem there.

显然,在使用 FirebaseRecyclerAdapter 时,RecyclerView 中的 height 设置为 wrap_content 确实存在问题> 使用 DataBinding

改成

android:layout_height="match_parent"

它应该可以工作。

FirebaseUI-Android 团队认为这是 RecyclerView 本身的问题,并已关闭该问题。 This是来自 Github Issue 的 crosspost。

关于android - FirebaseRecyclerAdapter 不适用于数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com