我正在为Android应用程序进行原型设计,并且在编写任何Java代码之前尝试定义UI。基本的XML布局工作正常,但我无法弄清楚如何添加内容ListView
。在ListView
中添加LinearLayout
可以正常工作,但我无法添加任何内容(甚至不是其他LinearLayout
)作为此{{1}的内容 }。
我尝试了相当明显的方法:
ListView
但是在尝试启动活动时失败(在运行时)出现异常:
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="Line One"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:text="Line Two"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:text="Line Three"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ListView>
XML布局语言的SDK文档相当差,我似乎找不到任何明显的方法来使其工作。我错过了什么?
Bonus问题:有没有办法在 build-time 中检测XML布局中的问题,而不是等待Android在运行时抛出异常?
答案 0 :(得分:3)
基本的XML布局工作正常,但我无法弄清楚如何添加带有内容的ListView。
你做不到。您最好的选择是使用ListView
元素,其中属性android:entries
指向数组资源(这将显示ListView
的{{1}}}或模拟{ {1}}将其替换为Strings
,然后将ListView
中所需的内容添加为ScrollView
的内容(但它应该是模拟行的内容而不是单独的内容)。
奖金问题:有没有办法在XML布局中检测问题 构建时间,而不是等待Android抛出异常 运行
我猜android已经做到了。在ListView
中放置内容在xml布局中是可以的(可能),因为ListView
是ListView
,但后来当android实际尝试将内容添加到ListView
时如果例外,它将失败,因为操作不受支持。
答案 1 :(得分:1)
你真的没有将其他观点添加到&#34;列表视图,因为它不是一种可以添加嵌套布局和视图的布局类型。
参考本教程,因为它展示了如何正确填充和操作列表视图
http://developer.android.com/resources/tutorials/views/hello-listview.html