【问题标题】:HTML Links in Android List ViewAndroid 列表视图中的 HTML 链接
【发布时间】:2012-03-02 11:55:56
【问题描述】:

我在 android 中有一个自定义列表视图,每个项目由几个文本视图组成。其中一个文本视图包含 HTML 文本,其中一些包含 <a> 标记。我正在使用HTML.fromHTML() 方法将其转换为textView 可读的String,但链接不可点击。如果我让它们获得焦点,那么列表项将不再可点击,并且链接仍然不起作用。

那么,如果在链接以外的任何地方单击列表项,我如何使链接可点击,并保持正常的点击功能?

编辑:我的代码:

    if (convertView == null) {
        LayoutInflater vi = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = vi.inflate(R.layout.email_list_item, null);
    }


    TextView contentView = (TextView) convertView
            .findViewById(R.id.content);

    Email e = items.get(position);

    CharSequence content = "";
    if (e.getContent() != null) {
        content = Html.fromHtml(e.getContent());
    }

    contentView.setText(content);
    return convertView;

【问题讨论】:

    标签: android html listview hyperlink android-listview


    【解决方案1】:

    你需要设置 AutoLinkMask

    textcontent.setText(Html.fromHtml(text.get_text()));
    textcontent.setAutoLinkMask(Linkify.WEB_URLS);
    

    【讨论】:

    • 这会阻止列表项本身是可点击的,如果它不是被点击的链接,我仍然希望他们听到点击事件。
    • 添加到原帖中。
    【解决方案2】:

    在您的自定义列表视图行中,在 XML 中添加这一行。

    列表行 XML:

    android:autoLink="web"
     android:linksClickable="true"
    

    但它的显示列表视图文本为 HTML 标记,如下所示:

    <a href= "http://google.com">Google </a>
    

    如果我在其中添加 Html.fromHtml(text),则链接不再可点击。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多