我正在尝试使用FirebaseListAdapter填充聊天消息。
以下是代码。
FirebaseListOptions<UserChat> options = new FirebaseListOptions.Builder<UserChat>()
.setQuery(queryforDisplayMessages, UserChat.class)
.setLayout(R.layout.chat_user2_item)
.setLifecycleOwner(this)
.build();
final FirebaseListAdapter<UserChat> adapter=new FirebaseListAdapter<UserChat>(
options
) {
@Override
protected void populateView(View v, UserChat model, int position) {
Log.d(TAG,"Inside populateView");
TextView tv=(TextView)v.findViewById(R.id.textview_message);
tv.setText(model.getMessage());
}
};
listView.setAdapter(adapter);
我必须区分发送的聊天和收到的聊天。因此,在FirebaseListOptions选项中,我必须使用2种不同的布局,具体取决于是否发送了聊天或聊天。我在UserChat模型类中有一个名为UserModel的值,如果发送或接收聊天,我可以从中区分。但是如何在上面的代码中使用它并创建2个不同的FirebaseListOptions?
答案 0 :(得分:1)
从listoptions更改为recycleler选项,这将允许您每次使用recycleler视图创建自定义布局比列表视图有更多选项
答案 1 :(得分:1)
不,但我猜你正在寻找一种基于模型显示不同视图的方法。这可以通过视图类型实现:https://stackoverflow.com/a/26245463/4548500