2016-06-27 10 views
0

enter image description here Ich habe ein Problem mit der Anzeige von Leitungsunterbrecher als Antwort. Wenn ich diesen Text in verschiedenen Geräten überprüfe, habe ich verschiedene Symbole bekommen. Ich habe setzen Art und Weise eingestellt, die Reaktion unter Verwendung von Gson & mit Volley angefordert ..LineBreaker in Antwort wird nicht richtig angezeigt

...... 
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); 
    ............... 

Headers

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; 
     } 

    } 
+0

Wie lautet die Textantwort vom Server? – basilisk

+0

(Reiche cremige Hühnersuppe serviert mit Knoblauchbrot) – Hansi

+0

Wenn ich auf Rest-Client teste, ignoriere ich einfach diesen Charakter und zeige wie '(Rich cremige Hühnersuppe mit Knoblauchbrot serviert)' – Hansi

Antwort

1

Wenn Antwort zurück von dem Server die Leitungsunterbrecher enthält, ist dies der Weg, der das Entfernen und Ersetzen durch ‚\ n‘ Android Studio Unterstützung der Linie Brechers.

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`); 
         } 
     } 
+0

Bitte fügen Sie auch eine Erklärung zu diesem Code? –

+1

Ich bearbeitet und hinzugefügt Erklärung Ich hoffe, jetzt ist es verständlich. :) – Hansi

0

Wenn Sie den Text in einem Textview setzen, können Sie

Html.fromHtml(yourText); 
verwenden

Es konvertiert grundlegende HTML-Tags in entsprechende Span und Sie können die resultierende Spanned Zeichenfolge in Ihrem TextView verwenden.

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

Es funktioniert nicht. :( – Hansi

+0

Ich habe versucht, 2ways. Aber nicht für mich. String desc = null! = MenuItem.getContent()? MenuItem.getContent(): getNAString(); textViewOrderItemDescription.setText (TextUtils.htmlEncode (desc)) ; textViewOrderItemDescription.setText (Html.fromHtml (desc)); – Hansi

Verwandte Themen