响应中的LineBreaker未正确显示

时间:2016-06-27 06:30:26

标签: android android-volley gson

enter image description here我在返回响应中显示换行符时遇到问题。当我在不同设备中检查该文本时,我得到了不同的符号。 我已经设定了使用gson& amp设置响应的方法。要求使用Volley ..

......
Gson gson=new Gson();
ItemsHolder = gson.fromJson(response.toString(),
                        ItemsHolder.class);
.......


......
 MenuItemsConfigurationListner configurationListner = new MenuItemsConfigurationListner();
        AuthonicateRequest jsonObjectRequest = new AuthonicateRequest(
                Request.Method.GET,
                url,
                (String) null,
                configurationListner,
                configurationListner
        );

        jsonObjectRequest.setTag(TAG);
        VolleySingleton.getVolleySingletonInstance().addToRequestQueue(
                jsonObjectRequest);
    ...............

接头

private class AuthonicateRequest extends JsonObjectRequest {
        public AuthonicateRequest(int method, String url, String requestBody, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) {
            super(method, url, requestBody, listener, errorListener);
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            return createBasicAuthHeader();
        }

        Map<String, String> createBasicAuthHeader() {
            Map<String, String> headerMap = new HashMap<String, String>();
            headerMap.put(IConstants.CONTENT_TYPE, IConstants.APPLICATION_JSON);
            return headerMap;
        }

    }

2 个答案:

答案 0 :(得分:1)

如果来自服务器的响应返回包含断路器,则这是删除它的方式,并用'\ n'android studio支持断路器替换。

private class MyListener implements Response.Listener<JSONObject>, Response.ErrorListener {

            @Override
             public void onErrorResponse(VolleyError error) {
     Log.d(getTag() , error.toString());

                        }

             @Override
             public void onResponse(JSONObject response) {
     MyItem item = new Gson().fromGson(response.toString(),MyItem.class);

     String desc = null != item.getContent() ? item.getContent() : getEmptyString()
                 desc = desc.replace("\u2028", System.getProperty("line.separator"));
                 textViewItemDesc.setText(desc`enter code here`);
                         }
         }

答案 1 :(得分:0)

如果要在TextView中设置文本,可以使用

Html.fromHtml(yourText);

它会将基本的html标记转换为相应的Span,您可以在TextView中使用生成的Spanned字符串。

textView.setText(Html.fromHtml(yourText));