猿问

Android-FirebaseListAdapter复制运行时布局更改

我在这里问是否有人知道我无法解决的问题的解决方法。


基本上,我正在使用Firebase作为练习在Android中编写一个简单的聊天应用程序。我ListView在主布局中使用了一个,并为每个“消息气泡”使用了一个简单的布局。问题来了:当我可视化从Firebase检索到的消息时,我会在运行时根据当前用户更改气泡的颜色,第一次加载时,每个气泡的颜色正确,但是通过上下滚动消息来实现,即使属于不同用户,更多气泡仍呈现“ ActiveUser”颜色,有什么想法吗?我将下面使用的代码留在下面


主布局ListView


 <ListView

    android:id="@+id/list_of_messages"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:layout_above="@id/inputArea"

    android:layout_alignParentStart="true"

    android:layout_alignParentTop="true"

    android:divider="@android:color/transparent"

    android:dividerHeight="16dp"

    android:paddingStart="15dp"

    android:paddingBottom="5dp"

    android:paddingEnd="15dp"

    android:paddingTop="10dp"/>

消息提示框布局


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:padding="10dp"

android:id="@+id/message_bubble"

android:background="@drawable/normal_message_background">


<TextView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_alignParentTop="true"

    android:layout_alignParentStart="true"

    android:id="@+id/message_user"

    android:textStyle="normal|bold" />


<TextView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_toEndOf="@id/message_user"

    android:layout_marginStart="10dp"

    android:id="@+id/message_time" />


<TextView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_below="@+id/message_user"

    android:layout_alignParentStart="true"

    android:layout_marginTop="5dp"

    android:id="@+id/message_text"

    android:textAppearance="@style/TextAppearance.AppCompat.Body1"

    android:textSize="18sp" />


holdtom
浏览 132回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答