【问题标题】:two types of row in the listview?列表视图中的两种类型的行?
【发布时间】:2011-10-27 12:46:29
【问题描述】:
我在我的 Android 程序中使用列表视图。
我有两种类型的行。
1)只有一个文本视图,当你选择它时,它会打开一个新的意图。
2) 3 个文本视图和一个按钮,当您按下按钮时,它将打开一个新的意图。
我如何区分这些以及如何在一个适配器中制作这些不同的东西?
P.S:我真的很彻底地搜索了互联网。我正在尝试在 2-3 天内完成此操作。但没有运气。
谢谢。
【问题讨论】:
标签:
android
listview
button
row
【解决方案1】:
我认为您可以将两行合并到单个列表项中,然后根据需要的行类型调整可见性。
例如,使用下面的布局,如果需要显示 row2 类型的元素,您可以将可见性设置为 View.Gone 用于 row1_text 和 View.VISIBLE 用于 row2_text* 和 row2_button。并切换 row1 类型的可见性。
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_item"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight">
<TextView
android:id="@+id/row1_text"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/row2_text1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/row2_text2"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/row2_text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/row2_text3"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/row2_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/row2_button"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/row2_text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>