Почему мой список не отображается? - PullRequest
0 голосов
/ 21 июля 2010

Я пытаюсь показать список файлов, используя ArrayAdapter, в ListView. Насколько я могу судить, следующее должно работать, но просто оставляет ListView пустым. Я не использую ListActivity.

Java

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 Ответ

1 голос
/ 21 июля 2010

Вы проверили просмотрщик иерархии, чтобы увидеть, каков измеренный размер вашего списка, сколько у него дочерних элементов и их размеры?

Вы говорите ListView, что его высота должна быть wrap_content - это не имеет смысла для ListView, поскольку его содержимое может быть сколь угодно большим. Вы также указываете, что элементы списка имеют высоту fill_parent - это бессмысленно для контейнера, который может прокручиваться, поскольку родительский объект фактически имеет бесконечную высоту для заполнения.

...