使用ArrayAdapter/SimpleAdapter在ListView上使一个项加粗

use*_*863 2 android listview

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

<b> </b>
Run Code Online (Sandbox Code Playgroud)

在字符串周围,我希望在gui上以粗体显示,这样:

TextView tv.setText(Html.fromHtml(str));
Run Code Online (Sandbox Code Playgroud)

但是在ScrollView中使用一个大的TextView会导致其他问题,并且当你完全拥有ListView时这似乎是一个糟糕的选择.所以现在我使用ListView,它从ArrayList获取所有字符串并显示它们.只有当我试图扭转这一局面时,我似乎无法将一个项目的风格改为Bold.我还尝试为每个字符串创建一个TextView,然后将TextView添加到List中,但我不知道ArrayAdapter或SimpleAdapter是否可以执行此操作.SimpleAdapter似乎只能将TextView作为资源ID获取,这对于列表中的所有项目都是相同的,这阻止了我实现我想要的.

简而言之:在研究这个问题之后,我知道有一些方法可以扩展BaseAdapter以获得一个自定义适配器,它允许列表的任何自定义布局,但是真的没有别的方法吗?我是否真的需要实现一个BaseAdapter和@override getItem才能使一个项目变为粗体?这对我来说似乎很奇怪.有谁知道我可以添加TextViews到ListView的方式?使用ArrayAdapter显示TextViews toString:/
如果您知道另一种简单的方式来显示一个粗体项目,我真的会提供任何帮助.谢谢!

use*_*863 5

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

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