使无限滚动的ImageViews

时间:2018-07-05 20:14:02

标签: java android xml

我正在制作一个允许用户搜索各个国家的应用程序。用户可以进行过滤搜索(例如,仅搜索特定大陆的国家等)。所有这些信息(国家及其大洲都存储在我的Firebase实时数据库中)。 在我的FilteredResults.java片段中,我想拥有可变数量的ImageViews(List<String>的大小数)。 我画的草图可能会帮助您更好地理解它:

enter image description here

每个矩形之一是ImageViews。 这是我的XML(我只有一个scrollview,因为我不知道如何创建ImageView的“数组” ...)

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/txtResultadosFiltrados"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="28dp"
    android:layout_marginTop="0dp"
    android:text="Resultados Filtrados"
    android:textColor="#323B45"
    android:textSize="24sp"
    tools:layout_editor_absoluteX="16dp"
    tools:layout_editor_absoluteY="28dp" />

    <ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">





    </ScrollView>
</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

为了以最佳方式解决问题,您应该使用以下一种:

这些视图支持所谓的adapters,它们在模型(在您的情况下为List<String>)和项目列表(在您的情况下为ImageView列表)之间进行映射。

这里有一个简单应用程序的完整示例,该应用程序从Firebase数据库加载帖子列表: https://github.com/firebase/quickstart-android/tree/master/database

该示例基于RecyclerView,您可以在此处找到直接的用法: https://github.com/firebase/quickstart-android/blob/master/database/app/src/main/java/com/google/firebase/quickstart/database/fragment/PostListFragment.java

答案 1 :(得分:1)

使用RecyclerView代替ScrollView。保留ImageView数组并将其添加到ScrollView中会带来爆炸性的头痛。