为什么我的列表视图不会显示?

时间:2010-07-20 20:23:04

标签: android listview android-arrayadapter

我正在尝试使用ArrayAdapter向ListView显示文件列表。尽我所知,以下应该可以工作,但它只是将ListView留空。我没有使用ListActivity。

爪哇

setContentView(R.layout.files);
findViewById(R.id.folder_use).setOnClickListener(this);
ListView view = (ListView)findViewById(R.id.files);
File[] files = Environment.getExternalStorageDirectory().listFiles();
Log.d(TAG, files.toString());
view.setAdapter(new ArrayAdapter<File>(this, R.layout.file_row, files));

layout.files

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content">

    <TextView android:id="@+id/local_instructions" android:text="@string/local_instructions"
        android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" />

    <ListView android:id="@+id/files" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_below="@id/local_instructions"
        android:background="#ffffff" />

    <Button android:id="@+id/folder_use" android:text="@string/folder_use" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_weight="1" android:layout_alignParentBottom="true" />
</RelativeLayout>

layout.file_row

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent" />

我错过了一些明显的东西吗?

由于

1 个答案:

答案 0 :(得分:1)

您是否检查过hierarchyviewer,看看列表的实际尺寸,有多少孩子以及他们的尺寸?

你告诉ListView它的高度应该是wrap_content - 这对于ListView来说是没有意义的,因为它的内容可以是任意大的。你也告诉列表项目的高度为fill_parent - 对于可以滚动的容器来说这是没有意义的,因为父级实际上有无限高度来填充。