我正在尝试使用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" />
我错过了一些明显的东西吗?
由于
答案 0 :(得分:1)
您是否检查过hierarchyviewer,看看列表的实际尺寸,有多少孩子以及他们的尺寸?
你告诉ListView它的高度应该是wrap_content
- 这对于ListView来说是没有意义的,因为它的内容可以是任意大的。你也告诉列表项目的高度为fill_parent
- 对于可以滚动的容器来说这是没有意义的,因为父级实际上有无限高度来填充。