无法在Android应用中正确查看列表视图中的列表视图

时间:2011-11-17 11:06:32

标签: android listview android-layout android-listview

我想在我的Android应用中显示来自非常通用的JSON字符串的数据。一个视图/屏幕应显示任意数量的“细节”,其中每个细节具有任意数量的“值”。

我正在尝试在Listview中使用ListView,并且所有数据都很好地放入每个列表中,但列表不会完全显示(参见下图)。

屏幕下方是第一个ListView。它包含许多TextView标签(例如用法和信息),后者又有许多值(单位,sw版本等)。这些值放在一个显示TextView的新列表中。

顶部也是ListView,但显示确定。

看起来像这样:

第一部分,状态选项卡包含两个列表,第一个(精细)和第二个(问题):

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/tabStatus">

        <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:id="@+id/listThingStatus"/>

        <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:id="@+id/listThingDetails"/>

    </LinearLayout>

带有标签的下部ListView和第二个ListView:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
            android:layout_width="fill_parent" android:layout_height="70px">    
                <LinearLayout android:orientation="vertical" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content">      
                    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30px" android:id="@+id/textDetails" />  
                    <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/listThingValues"/>                                                   
                </LinearLayout>
    </LinearLayout>

最后是第二个ListView中的TextViews:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
            android:layout_width="fill_parent" android:layout_height="70px">    
                <LinearLayout android:orientation="horizontal" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:gravity="center_vertical">
                    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30px" android:id="@+id/textValuesLabel" />        
                    <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="30px" android:gravity="right|center" android:id="@+id/textValuesUnits" />    
                </LinearLayout>
    </LinearLayout>

结果就是这个(见图),其中内部列表中的内容大多是“隐藏”(SW版本和文本在下面等)。我几乎在所有地方都使用“wrap_content”,但内容过于紧凑:(。如何以及在何处格式化我的XML以使内部列表中的内容正确显示?

图片(来自模拟器,但手机上的结果相同): http://i.imgur.com/8mcDq.png

1 个答案:

答案 0 :(得分:1)

ListView内放置ListView只会让您感到头痛。

请尝试使用ExpandableListView