我有搜索和结果活动。提交搜索后,联系网络服务器,我将得到json数组。该数组中的每个对象都包含有关该结果的少量信息对。 我已经为结果进行了视图设计,但我不知道如何为所有搜索结果复制和重复使用该视图,为结果创建一个文本视图会很简单,但是如何处理这个复杂的布局呢? 这是我要为每个结果复制和使用的代码... 此外,我希望结果是可点击的,当点击进入详细信息页面时,应该显示有关它的更多详细信息,所以第二个问题是如何跟踪用户点击的内容(顺便说一句。我知道ID被搞砸了,我将在稍后设置它们)
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginTop="10dp"
android:id="@+id/result"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:background="@drawable/background_border"
android:onClick="ShowDetails">
<ImageView
app:srcCompat="@drawable/golettaverde"
android:id="@+id/imageView2"
android:layout_weight="1"
android:background="@drawable/image_background_border"
android:scaleType="fitXY"
android:layout_width="120dp"
android:layout_height="120dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:gravity="center_vertical|center_horizontal">
<TextView
android:text="Goletta Verde"
android:layout_width="wrap_content"
android:id="@+id/textView5"
android:layout_weight="1"
android:textColor="?attr/colorButtonNormal"
android:textStyle="normal|bold"
android:textSize="26sp"
android:layout_height="10dp" />
<TextView
android:text="5 seats - 18.60 meters"
android:layout_width="wrap_content"
android:id="@+id/textView6"
android:layout_weight="1"
android:textColor="?attr/colorButtonNormal"
android:textSize="20sp"
android:layout_marginLeft="3dp"
android:layout_height="7dp" />
<TextView
android:text="Year 2009"
android:layout_width="wrap_content"
android:id="@+id/textView7"
android:layout_weight="1"
android:textSize="20sp"
android:textColor="?attr/colorButtonNormal"
android:layout_marginLeft="3dp"
android:layout_height="7dp" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_weight="1">
<ImageView
app:srcCompat="@android:drawable/btn_star_big_on"
android:id="@+id/imageView3"
android:layout_weight="1"
android:layout_width="30dp"
android:layout_height="wrap_content" />
<ImageView
app:srcCompat="@android:drawable/btn_star_big_on"
android:id="@+id/imageView3"
android:layout_weight="1"
android:layout_width="30dp"
android:layout_height="wrap_content" />
<ImageView
app:srcCompat="@android:drawable/btn_star_big_on"
android:id="@+id/imageView3"
android:layout_weight="1"
android:layout_width="30dp"
android:layout_height="wrap_content" />
<ImageView
app:srcCompat="@android:drawable/btn_star_big_on"
android:id="@+id/imageView3"
android:layout_weight="1"
android:layout_width="30dp"
android:layout_height="wrap_content" />
<ImageView
app:srcCompat="@android:drawable/btn_star_big_on"
android:id="@+id/imageView3"
android:layout_weight="1"
android:layout_width="30dp"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:text="300€"
android:layout_width="wrap_content"
android:id="@+id/textView7"
android:layout_weight="1"
android:textSize="24sp"
android:textColor="?attr/colorButtonNormal"
android:layout_marginLeft="3dp"
android:layout_height="7dp"
android:textStyle="normal|bold" />
答案 0 :(得分:1)
您可以使用Recycler View来实现此目的。它易于使用且是您工作的最有效方式。您只需要初始化视图,它就会按照您的方式运行。您可以观看this tutorial以了解如何使用回收站视图。
要使您的视图可以点击,您需要添加
android:foreground="?selectableItemBackground"
到视图的根标记。
您可以为在Recycler视图中创建的每个列表对象提供ID或标记,以了解单击的项目并采取相应的行动。
希望它适合你。欢呼!