gpt4 book ai didi

android - 如何在布局 XML 中定义包含内容的 ListView?

转载 作者:行者123 更新时间:2023-11-29 16:14:09 24 4
gpt4 key购买 nike

我正在制作一个 Android 应用程序的原型(prototype),并试图在编写任何 Java 代码之前定义 UI。基本的 XML 布局工作正常,但我不知道如何添加包含内容的 ListView。在 LinearLayout 中添加 ListView 效果很好,但我无法添加任何内容(甚至不能添加另一个 LinearLayout)作为 contents 这个 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>

但在尝试启动 Activity 时失败(在运行时)并出现异常:

java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView.

XML 布局语言的 SDK 文档相当少,我似乎找不到任何明显的方法来完成这项工作。我错过了什么?

额外的问题:有没有办法在构建时检测 XML 布局中的问题,而不是等待 Android 在运行时抛出异常?

最佳答案

The basic XML layout stuff works fine, but I can't figure out how to add a ListView with contents.

你不能。您最好的选择是使用 ListView 元素和指向数组资源的 android:entries 属性(这将显示一个简单的 ListView Strings) 或通过将其替换为 ScrollView 来模拟 ListView,然后在 ListView 中添加您想要的内容> 作为 ListView 的内容(但它应该模拟行而不是单独的内容)。

Bonus question: is there a way to detect problems in the XML layout at build-time, instead of waiting for Android to throw an exception at runtime?

我想 android 已经做到了。将内容放在 ListView 中在 xml 布局中是可以的(可能)因为 ListView 是一个 ViewGroup,但稍后当 android 实际尝试添加时ListView 的内容将失败,如异常所述,因为该操作不受支持。

关于android - 如何在布局 XML 中定义包含内容的 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10764498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com