gpt4 book ai didi

android - 使用 ArrayAdapter/SimpleAdapter 在 ListView 上将一项加粗

转载 作者:太空狗 更新时间:2023-10-29 16:06:40 24 4
gpt4 key购买 nike

我正在尝试创建一个简单的 ListView。 ListView 上显示的项目只是我拥有的数组中的字符串。只是我只希望其中一个字符串以粗体显示。 起初,当我使用一个长 TextView,其中包含所有带有换行符标签的字符串时,我可以简单地使用

<b> </b>

围绕我想在 gui 上以粗体显示的字符串,这样:

TextView tv.setText(Html.fromHtml(str));

但是在 ScrollView 中使用一个大的 TextView 会导致其他问题,并且当您有 ListView 来解决这个问题时,这似乎是一个糟糕的选择。所以现在我使用 ListView,它从 ArrayList 获取所有字符串并显示它们。只有这样,无论我如何尝试扭转局面,我似乎都无法将一项的样式更改为粗体。我还尝试为每个字符串创建一个 TextView,然后将 TextView 添加到列表中,但我不知道 ArrayAdapter 或 SimpleAdapter 是否可以做到这一点。 SimpleAdapter 似乎只能获取 TextView 作为资源 ID,这对于列表中的所有项目都是相同的,这使我无法实现我想要的。

长话短说:在这里研究了这个问题后,我知道有一些方法可以为自定义适配器扩展 BaseAdapter,允许列表的任何自定义布局,但真的没有其他方法吗?我真的需要实现 BaseAdapter 和 @override getItem 只是为了使一个项目变为粗体吗?这对我来说似乎很奇怪。有谁知道我可以将 TextViews 添加到 ListView 的方法吗?使用 ArrayAdapter 显示 TextViews toString :/
如果您知道另一种仅显示一个粗体项目的简单方法,我将非常感谢您的帮助。谢谢!

最佳答案

好吧,我终于决定通过制作一个扩展 ArrayAdapter 的自定义适配器来解决这个问题。那里有很多例子,但在我看来,其中一些提供了很多额外的东西并且使这个问题过于复杂,我只是想体面地解决这个问题。我找到了 this example非常有用和友好,在我在这里的研究中,我看到很多开发人员提出了类似的问题,所以我真的希望这对你也有帮助。

扩展 ArrayAdapter 的适配器并不太复杂,而且还允许您以相当简单的方式完全按照自己的方式进行布局。适配器完成后,您只需将 html 标签添加到源数组中的特定字符串,当您将它们绑定(bind)到适配器上时,使用 Html.fromHtml 。我就是这样解决的。
如果有人知道是否有办法在 ListView 的不同特定项目中制作粗体或彩色文本而无需自己进行此调整(扩展 ArrayAdapter 并覆盖 getItem()),请与我们分享。
/>我希望这对其他人有帮助。

关于android - 使用 ArrayAdapter/SimpleAdapter 在 ListView 上将一项加粗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553934/

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