/ FIXED \ Android - строка TextView.setText с проблемой \ n - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть метод, который извлекает текст из Firebase:

    db = FirebaseFirestore.getInstance();
    db.collection("Contact").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (DocumentSnapshot document : task.getResult()) {
                    String textt = (document.getString("Text"));
                    settext(textt);
                }
            }
        }
    });

Когда я получаю строку «Текст», я вызываю метод settext:

private void settext(String textt){
    mainTextView.setText(textt);
}

Вот значение строки textt: "azerty123 \ nqwerty \ ntest" Но mainTextView печатает «azerty123 \ nqwerty \ ntest» без перевода строки.

Может ли кто-нибудь мне помочь?

ИСПРАВЛЕНО, просто переопределите метод settext на:

private void settext(String textt){
    String text = textt.replaceAll("\\\\n", "\n");
    mainTextView.setText(text);
}

1 Ответ

0 голосов
/ 10 ноября 2018

Попробуйте это внутри onComplete():

String textt = document.getString("Text").replaceAll("\\\\n", "\n");

или

String textt = document.getString("Text").replace("\\n", "\n");

на всякий случай, если строка из базы данных содержит специальные символы.

...