2015-11-17 32 views
6

Ich habe eine Textansicht in einer Android-Anwendung, Text dieser Textansicht wird von einer API-Anfrage aufgefüllt, die Antwort dieser API ist nur ein Text, aber dieser Text könnte Sonderzeichen wie ein Apostroph haben oder irgendein anderes Sonderzeichen.Android Textansicht Sonderzeichen Ausgabe

Das Problem ist, dass, wenn die Reaktion Sonderzeichen enthält der Text-Ansicht zeigt nur, dass Sonderzeichen und was nach ihm, Beispiele:

Wenn die Antwort ist Capt. Tony's die Textansicht zeigt nur 's.

Wenn die Antwort ist Golf Club die Textansicht normalerweise arbeitet und zeigt Golf Club

Wenn die Antwort Café 28 nur der Text Ansicht é 28 zeigt

Und ich weiß die Antwort richtig ist, weil ich zu getestet haben es viele mal.

CODE OF MY TEXT VIEW:

XML

<TextView 
      android:id="@+id/item_name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello world" 
      android:textColor="#ffffff" 
      android:textSize="18sp" 
      android:layout_marginLeft="10dp"/> 

JAVA

TextView item_name = (TextView) rowView.findViewById(R.id.item_name); 
    item_name.setText(item.getTitle()); 

Jede Hilfe sehr geschätzt würde.

+0

@Neo, wie diese Frage mich profitieren? – EyadMhanna

+0

Stellen Sie sicher, dass Sie die Codierung auch von der API erhalten, wenn Sie den Text empfangen und verwenden. Für HTTP, das meistens im 'Content-Type' Header der Antwort ist. Sie sollten auch eine korrekte Codierung anfordern, indem Sie die richtigen Header 'Accept-Type' oder' Accept-Charset' verwenden. Z.B. 'Accept-Type: text/plain; charset = UTF-8' –

+0

Von Neo Link: Font unterstützt diese Glyphe nicht. Da Android Schriftart irgendwie automatisch wählt, wählt man eine, die eine Art Glyphen hat, aber andere nicht hat. Sie müssen also eine Schriftart verwenden, die beide unterstützt. –

Antwort

2

Versuchen

TextView item_name = (TextView) rowView.findViewById(R.id.item_name); 
item_name.setText(Html.fromHtml(item.getTitle()));