【问题标题】:Is it possible to create 2 FirebaseListOptions<> options based on the value returned from the model class?是否可以根据模型类返回的值创建 2 个 FirebaseListOptions<> 选项?
【发布时间】:2018-03-08 09:27:39
【问题描述】:

我正在尝试使用 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 呢?

【问题讨论】:

    标签: android firebase firebaseui


    【解决方案1】:

    不,但我猜您正在寻找一种基于模型显示不同视图的方法。这可以通过视图类型实现:https://stackoverflow.com/a/26245463/4548500

    【讨论】:

      【解决方案2】:

      从 listoptions 更改为 recycler options 这将允许您在每次使用 recycler view 比 list view 有更多选项时创建自定义布局

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多