为啥我在使用 CustomListAdapter 时得到不同大小的列表行,即使我尝试为自定义列表行提供特定值

Posted

技术标签:

【中文标题】为啥我在使用 CustomListAdapter 时得到不同大小的列表行,即使我尝试为自定义列表行提供特定值【英文标题】:Why am I getting a different Sized list row while using a CustomListAdapter even though i tried giving a specific value to the custom list row为什么我在使用 CustomListAdapter 时得到不同大小的列表行,即使我尝试为自定义列表行提供特定值 【发布时间】:2021-01-26 01:40:17 【问题描述】:

我已经创建了一个自定义 listView,但是当我运行代码时,每个屏幕都会显示 1 行。我在listview_row.xml中把父布局的布局宽度和高度分别设置为match_parentwrap_Content

这是listview_row.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:id="@+id/ll"
    android:layout_
    android:layout_>

    <ImageView
        android:id="@+id/imageViewID"
        android:layout_
        android:layout_
        android:layout_weight="1"
        app:srcCompat="@android:drawable/ic_menu_today" />

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:orientation="vertical">

        <TextView
            android:id="@+id/nameTextViewID"
            android:layout_
            android:layout_
            android:text="TextView"
            android:textAlignment="center"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/infoTextViewID"
            android:layout_
            android:layout_
            android:text="TextView"
            android:textAlignment="center"
            android:textSize="18sp" />
    </LinearLayout>
</LinearLayout>

但在所有其余编码之后,我得到的输出为 i can see only one row a screen the 2nd row is far below

here I have scrolled a bit down and showed

谁能帮我解决这个问题,以便像普通 listView 一样显示行,而不是每页显示 1 行?

我是新手,提前致谢。

【问题讨论】:

【参考方案1】:

尝试将其更改为这个:

<?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:id="@+id/ll"
    android:layout_
    android:layout_>

    <ImageView
        android:id="@+id/imageViewID"
        android:layout_
        android:layout_
        app:srcCompat="@android:drawable/ic_menu_today" />

    <LinearLayout
        android:layout_
        android:layout_
        android:gravity="center_vertical"
        android:orientation="vertical">

    <TextView
        android:id="@+id/nameTextViewID"
        android:layout_
        android:layout_
        android:text="TextView"
        android:textAlignment="center"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/infoTextViewID"
        android:layout_
        android:layout_
        android:text="TextView"
        android:textAlignment="center"
        android:textSize="18sp" />
</LinearLayout>

【讨论】:

以上是关于为啥我在使用 CustomListAdapter 时得到不同大小的列表行,即使我尝试为自定义列表行提供特定值的主要内容,如果未能解决你的问题,请参考以下文章

Android CustomListAdapter notifydatachange() 不工作

为啥我在使用 TransactionScope 时会出错?

为啥我在使用 Mock 注释时有 NPE

为啥我在使用 foreach 时会收到 ***Error?

为啥我在使用任务时无法正确填充集合? [复制]

为啥我在使用 Jetpack Compose TextField 时会出错?