繁体   English   中英

Android RecyclerView在滚动时将文本更改为图像

[英]Android RecyclerView Changes text to Image when scroll

任何人都可以在这里帮助我吗???

问题陈述:我正在制作一个几乎在 ChatActivity 中准备就绪的聊天应用程序。 功能是用户可以一起发送图像和文本,但是在发送文本时它很好。 当我发送图像时,问题就开始了。 发送后,当我向上滚动到我的所有文本开始变为最近发送的图像。

ChatActivity.xml -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/bg_light"
    tools:context=".ChatActivity">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="?attr/actionBarTheme">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:id="@+id/backArrow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/ic_back_arrow"
                app:tint="@color/white" />

            <de.hdodenhof.circleimageview.CircleImageView
                android:id="@+id/profile_image"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:layout_marginStart="5dp"
                android:padding="5dp"
                android:src="@drawable/avatar"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toEndOf="@+id/backArrow"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/userName"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dp"
                android:layout_marginTop="3dp"
                android:layout_marginEnd="16dp"
                android:layout_marginBottom="13dp"
                android:fontFamily="@font/roboto"
                android:text=""
                android:textColor="@color/white"
                android:textSize="20sp"
                android:textStyle="bold"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/imageView7"
                app:layout_constraintStart_toEndOf="@+id/profile_image"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/lastSeen"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dp"
                android:layout_marginEnd="16dp"
                android:layout_marginBottom="2dp"
                android:fontFamily="@font/roboto_light"
                android:text=""
                android:textColor="@color/white"
                android:textSize="12sp"
                android:textStyle="bold"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/imageView7"
                app:layout_constraintStart_toEndOf="@+id/profile_image"
                app:layout_constraintTop_toBottomOf="@+id/userName" />

            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintGuide_begin="-22dp" />

            <androidx.constraintlayout.widget.Barrier
                android:id="@+id/barrier2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:barrierDirection="left"
                tools:layout_editor_absoluteX="395dp" />

            <ImageView
                android:id="@+id/imageView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="10dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/ic_more"
                app:tint="@color/white" />

        </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.appcompat.widget.Toolbar>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/chatRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="611dp"
        android:nestedScrollingEnabled="false">

    </androidx.recyclerview.widget.RecyclerView>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="4dp">


        <View
            android:id="@+id/view14"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            android:background="@drawable/follow_active_btn"
            app:layout_constraintBottom_toBottomOf="@+id/etMessage"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/etMessage" />

        <EditText
            android:id="@+id/etMessage"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginBottom="4dp"
            android:background="@color/transparent"
            android:ems="10"
            android:hint="Message"
            android:inputType="textMultiLine"
            android:maxLines="4"
            android:minHeight="48dp"
            android:paddingStart="4dp"
            android:paddingLeft="4dp"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/sendMessageImage"
            app:layout_constraintStart_toStartOf="parent" />

        <ImageView
            android:id="@+id/sendMessage"
            android:layout_width="36dp"
            android:layout_height="36dp"
            android:layout_marginEnd="8dp"
            android:padding="4dp"
            app:layout_constraintBottom_toBottomOf="@+id/etMessage"
            app:layout_constraintEnd_toEndOf="@+id/view14"
            app:layout_constraintTop_toTopOf="@+id/etMessage"
            app:srcCompat="@drawable/comment"
            app:tint="@color/purple_500" />

        <ImageView
            android:id="@+id/sendMessageImage"
            android:layout_width="36dp"
            android:layout_height="36dp"
            android:padding="4dp"
            app:layout_constraintBottom_toBottomOf="@+id/sendMessage"
            app:layout_constraintEnd_toStartOf="@+id/sendMessage"
            app:layout_constraintTop_toTopOf="@+id/sendMessage"
            app:srcCompat="@drawable/clip"
            app:tint="@color/black" />

    </androidx.constraintlayout.widget.ConstraintLayout>


</LinearLayout>

ItemViewType 应该从 0 开始。

尝试将它们更改为:

    int SENDER_VIEW_TYPE = 0;
    int RECEIVER_VIEW_TYPE = 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM