Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:从数据库加载时在列表视图中显示HTML格式的文本_Android_Html_Sqlite_Textview - Fatal编程技术网

Android:从数据库加载时在列表视图中显示HTML格式的文本

Android:从数据库加载时在列表视图中显示HTML格式的文本,android,html,sqlite,textview,Android,Html,Sqlite,Textview,我有一个SQLite项目数据库,其中一些项目包含基本的HTML,如b和子标记。我已经使用SimpleCursorAdapter将表绑定到ListView。有没有办法使ListView格式化HTML标记,以便正确显示? 似乎前进的方向是让光标传递跨距字符串,但我不知道如何做到这一点。如果数据只包含简单的HTML标记,则它们实际上可以由TextView使用HTML.fromHtml(yourString)处理。该静态方法返回一个span,可由TextView显示,开销远小于WebView。谢谢Ian

我有一个SQLite项目数据库,其中一些项目包含基本的HTML,如b和子标记。我已经使用SimpleCursorAdapter将表绑定到ListView。有没有办法使ListView格式化HTML标记,以便正确显示?
似乎前进的方向是让光标传递跨距字符串,但我不知道如何做到这一点。

如果数据只包含简单的HTML标记,则它们实际上可以由TextView使用HTML.fromHtml(yourString)处理。该静态方法返回一个span,可由TextView显示,开销远小于WebView。

谢谢Ian,这是我最后的适配器代码:

    private class HtmlCursorAdapter extends SimpleCursorAdapter {

    public HtmlCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
        super(context, layout, c, from, to);
    }

    @Override
    public void setViewText (TextView view, String text) {
        view.setText(Html.fromHtml(text),BufferType.SPANNABLE);
    }
}

您可以使用CursorWrapper类

CursorWrapper cw = new CursorWrapper(myCursor) {
    public String getString(int columnIndex) {
        String withHTML = super.getString(columnIndex);
        return Html.fromHtml(withHTML).toString();
    }
};

对不起,我不知道该把代码放在哪里。我尝试扩展TextView,但setText方法被设置为final。您不需要扩展TextView,只需将Html.fromHtml()返回的跨距传递给它,而不是传递光标返回的字符串。您可以扩展SimpleCursorAdapter并重写setViewText方法。这太棒了,谢谢!由于该构造函数现在在
SimpleCursorAdapter
中被弃用,我将签名更改为
public HtmlCursorAdapter(上下文上下文、int布局、游标c、字符串[]from、int[]to、int标志)
super
调用
super(上下文、布局、c、from、to、标志)