我的“图形设计”有四行 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 中缺少一些属性吗? 我是个新手,所以我知道我可能会犯一个非常基本的错误
最佳答案
您是否通过代码中的某种Adapter
向ListView
填充数据?如果列表中没有项目,它将“不可见”,因为它没有任何可显示的内容。
如果是的话,您可以使用Hierarchy Viewer工具与模拟器来分析布局的渲染方式,并查看 ListView 可能在哪里。
您还可以尝试 layoutopt以确保您使用整个屏幕的最佳布局。我看到很多嵌套的 LinearLayouts
可能会被消除,取而代之的是 TableLayout
。
关于android - 嵌套线性布局中的 ListView 在运行时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012620/