У меня проблемы с моими TextViews. Я не видел эту проблему раньше, и Google не помог.
У меня есть TextViews и текст, который определен в XML как строковые ресурсы.
<?xml version="1.0" encoding="utf-8"?>
...
<TextView
android:id="@+id/TVName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/name"
android:textSize="@dimen/textViewTextSize"
android:textStyle="bold"
android:textColor="@color/white"
android:textAllCaps="true"
android:layout_marginEnd="@dimen/marginBetweenTextViewsEnd"
android:background="@color/gray41"
/>
...
В моем коде я делаю append () для этого TextView
public class Page extends AppCompatActivity {
TextView TVName;
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_profile);
TVName = findViewById(R.id.TVName);
TVName.append(" " + "danya");
}
}
string.xml
<resources>
<string name="name">Name:</string>
</resources>
Вместо NAME: danya
я получаю несколько иероглифов или просто мусор, как "NAME: 3ô"
Прежде всего я получал текст для append()
с сервера с Retrofit и думаю, что это искаженный текст с сервера, но проблема повторилась, когда я попробовал код выше.
Когда я меняю приложение на setText()
- все отлично работает.
Также я попытался изменить строковый ресурс в XML для текста, например android:text="Name:"
, но та же проблема.
Все файлы, закодированные в UTF-8, как всегда, и не были закодированы вручную.