首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在listView中使用线程

在listView中使用线程
EN

Stack Overflow用户
提问于 2013-08-02 17:06:18
回答 1查看 91关注 0票数 0

我有一个listView的活动。listView包含跨项。

代码语言:javascript
复制
@Override
protected void onStart() {
    super.onStart();

    Spanned xxx = Html.fromHtml(getString(R.string.xxx));
    Spanned yyy = Html.fromHtml(getString(R.string.yyy));
    Spanned zzz = Html.fromHtml(getString(R.string.zzz));
    ...

    Spanned abc[] = { xxx, yyy, zzz, ... };

    abc_adapter = new ArrayAdapter<Spanned>(this, R.layout.abc, R.id.abc, abc);
    abc_view.setAdapter(abc_adapter);

由于我有200个跨项目,应用程序变得非常慢。是否有可能在这里使用线程来提高性能?比如获取线程中跨项的格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-02 23:00:54

如果您要先加载所有项目,然后才显示它们,线程不会有什么帮助(很大)--初始化仍然需要同样长的时间。在一个单独的线程上所做的唯一的事情就是响应性,因为您将加载从UI线程中移开。

为了更快地实现这一点,您应该考虑实现自己的适配器,例如通过扩展ArrayAdapter。在getView()方法中,您将执行Html.fromHtml(stringData[position]);并将textview项的内容设置为生成的Spannable。这确实需要将所有字符串都放在一个数组中。外面有许多例子

这样做的好处是,您不必在初始化时执行所有fromHtml,但是它们是由适配器动态执行的。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18022471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档