You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio从URL获取数据显示HTML代码的问题求助

解决TextView直接显示HTML代码而非解析内容的问题

嘿,我看你遇到了TextView只显示原始HTML代码的困扰,这是因为你只是把获取到的字符串直接追加到TextView里,没有让Android系统解析HTML标签。咱们来一步步解决这个问题:

问题原因

你的TaskGetData类的onPostExecute方法中,直接把网络请求返回的result字符串添加到TextView中——TextView默认会将所有内容当作普通纯文本处理,不会识别并解析HTML格式的标签,所以就会把<xxx>这类代码原封不动显示出来。

解决方案:让TextView解析HTML内容

Android提供了Html.fromHtml()方法来将HTML字符串转换为可显示的富文本,不过要注意API版本兼容:

修改你的onPostExecute方法,替换成下面的代码:

@Override
protected void onPostExecute(String result) {
    if (result != null) {
        Spanned parsedHtml;
        // 适配不同Android版本的HTML解析方式
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            parsedHtml = Html.fromHtml(result, Html.FROM_HTML_MODE_LEGACY);
        } else {
            parsedHtml = Html.fromHtml(result);
        }
        textView.append(parsedHtml + "\n");
    } else {
        textView.append("数据获取失败\n");
    }
}

额外注意点

另外,我注意到你请求的URL是.json后缀的接口,但实际返回的是HTML代码——这可能是服务器返回了错误页面(比如404找不到资源)。你可以先在doInBackground里打印一下result的内容,确认返回的到底是预期的JSON数据还是错误HTML:

@Override
protected String doInBackground(String... params) {
    String data = MyHttpUtils.getDataHttpUriConnection(params[0]);
    Log.d("HttpResult", "返回内容: " + data); // 打印日志查看实际返回内容
    return data;
}

如果确实是JSON数据,那你需要先解析JSON(比如用Gson、JSONObject等工具),提取出需要显示的文本后再设置到TextView,而不是当作HTML解析哦。

内容的提问来源于stack exchange,提问作者Nima Khalili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:10:05