小编use*_*916的帖子

Android - ListView没有收到带有可点击链接的文本视图的OnItemClick

我有一个ListView,除了许多其他视图之外,每行包含一个TextView.TextView呈现可能包含链接的html内容.

以下代码显示在列表适配器中.m_textview.setMovementMethod(LinkMovementMethod.getInstance()); m_textview.setText(Html.fromHtml(myhtmlcontent));

这会导致listview不再接收点击事件.我决定将列表onclick代码放在适配器返回的视图上.这根本不是很有效.现在,当我单击除textview之外的行中的任何位置时,我可以启动另一个活动.我希望用户能够单击textview的非链接部分并启动另一个活动.

如果我将onclick移动到textview而不是其父视图,它可以工作,但现在点击链接会触发两个事件 - 一个用于链接的单击,另一个用于textview(这是不需要的).

我注意到谷歌+并以我想要的方式偷看Android工作.我不确定如何实现.

android listview textview

19
推荐指数
2
解决办法
6381
查看次数

Android - Html.fromHtml 处理背景颜色

我有需要在 TextView 中显示的 html 文本。html 可能看起来像这样 -

<font color="#AFEEEE"><font style="background-color: rgb(255,140,0);">Text with background and color</font></font>
Run Code Online (Sandbox Code Playgroud)

Html.fromHtml 不支持字体标签颜色以外的任何属性。但我们绝对必须展示背景。我可以编写一个自定义标记处理程序,但不传入属性,仅传入标记。实现此目的的最佳方法是什么?

注意:无法使用 Webview。


我尝试了下面的代码。如果我在文本上设置 raw,它会起作用,但如果我进一步处理它并将其传递给 Html.fromHtml,它不会显示背景。

public static final String sText =
    "Background on <font style=\"background-color: rgb(255,255,0);\">pa</font>rt text only";

        Pattern pattern = Pattern.compile(BACKGROUND_PATTERN);
        Matcher matcher = pattern.matcher(sText);
        SpannableString raw = new SpannableString(sText);
        BackgroundColorSpan[] spans =
            raw.getSpans(0, raw.length(), BackgroundColorSpan.class);
        for (BackgroundColorSpan span : spans) {
            raw.removeSpan(span);
        }

        while (matcher.find()) {
            raw.setSpan(new BackgroundColorSpan(0xFF8B008B),
                matcher.start(2), matcher.start(2) + matcher.group(2).length(),
                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        sText = raw.toString();
        final Spanned convertedHtml = …
Run Code Online (Sandbox Code Playgroud)

html android textview

4
推荐指数
1
解决办法
6703
查看次数

标签 统计

android ×2

textview ×2

html ×1

listview ×1