我有一个方法可以从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);
}
}
}
});
当我检索字符串“ Text”时,我会调用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);
}
答案 0 :(得分:0)
在onComplete()
内尝试:
String textt = document.getString("Text").replaceAll("\\\\n", "\n");
或
String textt = document.getString("Text").replace("\\n", "\n");
以防万一来自数据库的字符串包含特殊字符。