如何使用可选的textview显示listview?

时间:2015-06-07 14:01:40

标签: android xml listview

我有XML文件,其布局显示listview中的字段。我需要这些领域的灵活性。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Nome da Oficina"
android:id="@+id/tvOficinaNome"/>
<TextView
android:text="Endereço da Oficina"
android:id="@+id/tvOficinaEnd"/>
<TextView
android:text="Bairro da Oficina"
android:id="@+id/tvOficinaBairro"/>
</LinearLayout>

在某些情况下,只能显示“Nome da Oficina”。在其他方面,只能展示“Nome da Oficina”和“EndereçodaNeicina”。在其他方面,只能展示“Nome da Oficina”和“Bairro da Oficina”。而在另外三个文本视图中。

我的问题是列表之间的空间。怎么解决?!

PS。我正在使用ViewHolder extendending ArrayAdapter。

Image example

1 个答案:

答案 0 :(得分:3)

您的布局应该包含其高度的wrap_content:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:text="Nome da Oficina"
android:id="@+id/tvOficinaNome"/>
<TextView
android:text="Endereço da Oficina"
android:id="@+id/tvOficinaEnd"/>
<TextView
android:text="Bairro da Oficina"
android:id="@+id/tvOficinaBairro"/>
</LinearLayout>

此外,在您的适配器中,为您要隐藏的文本视图设置View.GONE的可见性,例如:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
    . . . 
    tvOficinaBairro.setVisibility(View.GONE)
    return convertView;
}