2

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

我设计背后的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> 

问题是当我在模拟器上运行我的应用程序时,文本视图看起来就像设计一样,但列表视图没有出现在它下面。为什么会这样。

实验性地,我从我的代码中删除了列表视图,并在那里删除了一个按钮。当我运行我的应用程序时,文本视图和按钮都出现在模拟器中,就像设计一样。

那么我的代码有什么问题?我错过了列表视图中的一些属性吗?我是个新手,所以我知道我可能会犯一个非常基本的错误

4

3 回答 3

2

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

如果您是,您可以使用带有模拟器的Hierarchy Viewer工具来分析您的布局是如何呈现的,并查看 ListView 可能在哪里。

您还可以尝试使用layoutopt以确保您为整个屏幕使用最佳布局。我看到很多嵌套LinearLayouts可能会被淘汰,比如TableLayout.

于 2012-04-04T14:04:16.553 回答
0

你的代码是对的。可能您还没有填写代码中的列表。例如,尝试将此行添加到您的 onCreate() 方法中:

ListView lst_projlist=(ListView)findViewById(R.id.lst_projlist);

    for (int i=0; i<10;i++)
        elements.add("element "+i);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elements);
    lst_projlist.setAdapter(adapter);
于 2012-04-04T14:14:39.420 回答
0

您是否在列表视图中添加了元素?不知道这是否是解决方案 - 不经常使用模拟器,但尝试一下。

于 2012-04-04T14:12:22.087 回答