android - 嵌套线性布局中的 ListView 在运行时不显示

标签 android listview android-linearlayout

我的“图形设计”有四行 TextView 和 TextView 下方的 ListView ,所有内容都嵌套在线性布局中。

我的设计背后的xml代码如下

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:gravity="left" android:orientation="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pname"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Project Name:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pname"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pamount" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Budgeted Amout:"
                android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pamount" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pstartdate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Start Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pstartdate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />

        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_penddate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="End Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_penddate" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

    </LinearLayout>
        <LinearLayout android:layout_height="fill_parent"
            android:layout_width="fill_parent" android:orientation="vertical">

            <ListView android:id="@+id/lst_projlist"
                android:layout_width="fill_parent" android:layout_height="fill_parent">
            </ListView>

        </LinearLayout>
</LinearLayout> 

问题是,当我在模拟器上运行我的应用程序时, TextView 看起来就像设计一样,但 ListView 不会出现在它下面。为什么会出现这种情况。

通过实验,我从代码中删除了 ListView ,并在那里删除了一个按钮。当我运行我的应用程序时, TextView 和按钮都出现在模拟器中,就像设计一样。

那么我的代码有什么问题吗?我在 ListView 中缺少一些属性吗? 我是个新手,所以我知道我可能会犯一个非常基本的错误

最佳答案

您是否通过代码中的某种AdapterListView 填充数据?如果列表中没有项目,它将“不可见”,因为它没有任何可显示的内容。

如果是的话,您可以使用Hierarchy Viewer工具与模拟器来分析布局的渲染方式,并查看 ListView 可能在哪里。

您还可以尝试 layoutopt以确保您使用整个屏幕的最佳布局。我看到很多嵌套的 LinearLayouts 可能会被消除,取而代之的是 TableLayout

关于android - 嵌套线性布局中的 ListView 在运行时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012620/

相关文章:

Android - 如果没有空间,请向下移动按钮

android - 需要帮助在线性布局中将 EditText 居中

android - 如何在android中将 View 添加到另一个 View ?

java - 有哪些适用于 Android 的 websocket 客户端?

android - CountDownTimer on version 4.4.2 - 4.4.4 无法取消

android - ListView 未出现/Android 布局

具有不同 subview 的 Android Listview

android - 在多行中显示线性布局的子项

android - setDeviceCredentialAllowed 和 ERROR_USER_CANCELED

android - 自定义 ArrayAdapter 使用 NullPointerException 打乱 View