在远程配置文本中添加新行字符

时间:2018-04-10 06:06:50

标签: android newline firebase-remote-config

我正在进行Firebase RemoteConfig整合。在其中一个场景中我需要打破文本行,所以我尝试使用换行符(\ n)。

但这不起作用,既不是作为额外的角色显示也不是创建另一条线。

这里有任何建议!

8 个答案:

答案 0 :(得分:0)

尝试使用两个管道的非常见字符||然后在代码中执行getString()后,用换行符替换每行的出现。

答案 1 :(得分:0)

将远程配置中的Cdata与“ br”标记和HTML.fromHtml()结合使用,例如。

shouldComponentUpdate

答案 2 :(得分:0)

要提出上述建议,您可以尝试以下代码(可以将其推广为“ n”个元素)。只需将您的示例文本替换为相同格式,然后添加元素数量

            String text="#Elemento1#Elemento2#Elemento3#";
            int cantElementos=3;
            arrayElementosFinales= new String[cantElementos];
            int posicionNum0=0;
            int posicionNum1;
            int posicionNum2;

            for(int i=0;i<cantElementos;i++){
                posicionNum1=text.indexOf("#",posicionNum0);
                posicionNum2=text.indexOf("#", posicionNum1+1);
                char [] m = new char[posicionNum2-posicionNum1-1];
                text.getChars(posicionNum1+1, posicionNum2,m,0);
                arrayElementosFinales[i]=String.valueOf(m);
                posicionNum0=posicionNum2;
            }

答案 3 :(得分:0)

您可以将编码的文本(使用Base64)插入Firebase面板。

然后,从Java类中解码String并使用它。

喜欢

byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, "UTF-8");

答案 4 :(得分:0)

So what worked for me is to use"||" (or some other character combination you are confident will not be in the string) as the new line character. Then replace "||" with "\n". This string will then display properly for me.

For some reason sending "\n" in the string doesn't get recognized as expected but adding it manually on the receiving side seems to work.

答案 5 :(得分:0)

遇到同样的问题。

我的解决方案是手动替换\n(假设您在Firebase控制台中将TITLE的属性设置为“ Title \ nNewLine”)

FirebaseRemoteConfig.getInstance().getString(TITLE).replace("\\n", "\n")

希望有帮助!

答案 6 :(得分:0)

技巧(实际上适用于目标平台支持的所有HTML标记)是将字符串包装在RemoteConfig上的JSON对象中,如下所示:

{
  "text":"Your text with linebreaks...<br><br>...as well as <b>bold</b> and <i>italic</i> text.
}

然后,在目标平台上,您需要解析JSON并将其转换回简单的字符串。在Android上,如下所示:

// extract value from JSON
val text = JSONObject(remoteConfig.getString("remoteConfig_key")).getString("text")

// create Spanned and use it
view.text = HtmlCompat.fromHtml(text)

答案 7 :(得分:0)

为了使之成为可能,我有一种应该使用的方法;它对我有用:

YourTextView.setText(firebaseRemoteConfig.getString("YourRemoteConfigKey").replace("\\n", "\n"));

只需将YourRemoteConfigKey替换为您的密钥名(您在远程配置中提供)即可。