0

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" />

明らかな何かが欠けていますか?

ありがとう

4

1 に答える 1

1

リストの測定サイズ、子の数、およびリストのサイズを確認するために、hierarchyviewerをチェックしましたか?

ListViewに、その高さを指定する必要があります。wrap_contentこれは、コンテンツが任意に大きくなる可能性があるため、ListViewにとっては意味がありません。また、リストアイテムfill_parentの高さを指定しています。これは、スクロールできるコンテナにとっては意味がありません。これは、親が実質的に無限の高さで埋められるためです。

于 2010-07-21T00:16:22.533 に答える