2015-11-17 36 views
6

Mam widok tekstowy w aplikacji Android, tekst tego tekstu jest wypełniany z żądania API, odpowiedź tego interfejsu API jest tylko tekstem, ale ten tekst może zawierać znaki specjalne, takie jak apostrof lub jakikolwiek inny znak specjalny.Wyświetlanie tekstu z tekstem specjalnym wydanie

Problemem jest to, że gdy odpowiedź zawiera znaki specjalne widok wyświetla tylko tekst, że szczególny charakter i co jest po to, przykładów:

Gdy odpowiedź jest Capt. Tony's tylko tekst widok wyświetla 's.

Gdy odpowiedź jest Golf Club widok tekst pracuje normalnie i wyświetla Golf Club

Gdy odpowiedź jest Café 28 widok tekst wyświetla tylko é 28

I wiem, że odpowiedź jest poprawna, bo testowałem to zbyt wiele czasy.

KOD mojego tekstu Widok:

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

Każda pomoc będzie mile widziane.

+0

@Neo jak można to pytanie skorzystają mnie? – EyadMhanna

+0

Upewnij się, że otrzymałeś kodowanie z API podczas odbierania tekstu i używania go. Dla HTTP, który jest głównie w nagłówku odpowiedzi typu "Content-Type". Powinieneś także poprosić o odpowiednie kodowanie, używając poprawnych nagłówków 'Accept-Type' lub' Accept-Charset'. Na przykład. 'Accept-Type: text/plain; charset = UTF-8' –

+0

Od linku Neo: Czcionka nie obsługuje tego glifu. Ponieważ android automatycznie wybiera czcionkę, wybiera taki, który ma jeden glif, ale nie ma innych. Więc musisz użyć czcionki, która obsługuje je oba. –

Odpowiedz

2

Spróbuj

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