1

我目前正在编写一个 Android 项目,但我的 xml 文件有问题。没有日期选择器,列表视图运行良好。但是,当我添加一个日期选择器(不编辑 java 文件)时,列表视图消失了。以下是我的 android 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="wrap_content"
android:background="@drawable/background"
android:orientation="vertical" >


<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Date"
        android:textColor="@android:color/white"
        android:textSize="25sp" />

  <DatePicker
        android:id="@+id/datePicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/> 

     <Button
        android:id="@+id/confirm"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Confirm" /> 

</LinearLayout>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@android:color/background_dark" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false" />
</LinearLayout>

</LinearLayout>

我的 xml 文件有问题吗?

更新:我发现即使使用日期选择器,列表视图也会出现在三星 Galaxy Y Duos 上,但仍然没有出现在三星 Galaxy Note 上

4

4 回答 4

1

当我在同一布局中使用带有自定义适配器的 DatePicker 和 ListView 并且我的活动扩展 ListActivity 并调用 getListView() 时,我遇到了类似的问题。该列表出现在旧版本的 Android 上,但不在新版本上。我体验到我的适配器的 getView() 方法没有被调用。

我通过将 android:id="@android:id/list" 更改为自定义 id 并使用此 id 调用 findViewById 让它在新版本上工作,但是旧版本得到了“RuntimeException:您的内容必须有一个 ListView其 id 属性为 'android.R.id.list'”。为了让它在新旧版本上都可以工作,我使用了自定义 id 和 findViewById 方法,但是从 Activity 扩展而不是 ListActivity。也许有一些方法可以在不避免 ListActivity 的情况下处理这个问题,但这至少对我有用。

于 2013-04-17T22:00:23.050 回答
0

尝试为您的布局分配权重并查看。将 android:layout_weight="1" 添加到您的两个线性布局中(不要将其添加到您的主要线性布局中)

于 2013-02-18T07:44:40.710 回答
0

请删除此行

xmlns:android="http://schemas.android.com/apk/res/android

除了从顶部布局。

于 2013-02-18T06:55:07.443 回答
0

我的猜测是 ListView 之前的小部件最终占用了所有垂直空间,而您的列表视图没有空间出现。尝试将 TextView、Button 和 DatePicker 的高度设置为 10dp 之类的,然后看看是否可以看到列表。如果可以,这是一个空间问题,您应该考虑使用 aScrollView而不是 a LinearLayout

于 2013-02-18T05:50:17.317 回答