Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在字符串中插入换行符以显示在Android TextView小部件上?_Java_Android_String_Textview - Fatal编程技术网

Java 如何在字符串中插入换行符以显示在Android TextView小部件上?

Java 如何在字符串中插入换行符以显示在Android TextView小部件上?,java,android,string,textview,Java,Android,String,Textview,当我像下面那样手动设置textView的字符串时,它会工作 <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="line 1 \n line 2"/> 注意:实际上我是从SQLite数据库获取字符串的。但这不应该有什

当我像下面那样手动设置textView的字符串时,它会工作

<TextView
         android:id="@+id/textView1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="line 1 \n line 2"/>
注意:实际上我是从SQLite数据库获取字符串的。但这不应该有什么区别,对吗?因为它还是一根绳子

sample = cursor.getString(DBAdapter.COL_sample);
textView1.setText(sample);

因此,现在我的文本视图显示“\n”或“\r\n”字符,而不是换行符。

当您解压缩到strings.xml文件时,它确实起作用(您可以使用cmd+1按钮快速执行此操作)

这是一个解决方案,您将正确地提取字符串作为奖励。

您可以尝试

sample = sample.replace("\\\n", System.getProperty("line.separator"));

既然你说它来自SQLite数据库,那就是问题所在

你可以参考布伦德尔的答案

问题是SQLite将转义您的新行字符,因此当您再次检索它时,它将显示为
\\\n
或等效字符,您将需要取消scape以正确显示(因此删除额外的斜杠,使其仅为
\n

因此,根据要保存到数据库中的新行字符,您需要相应地进行处理

因此,使用链接答案,您可以这样做(取决于反斜杠的数量和需要执行的其他字符):


如果您需要在多个位置执行此操作,请为此创建一个函数。

抱歉,我是一个完全的新手,我不知道您在说什么。您能否提供有关如何解决此问题的更详细说明?突出显示字符串。按cmd+1。然后选择ide的“提取字符串”选项为您执行此操作。您将理解aft呃,完成了。检查res文件夹。在这两种情况下对我都有效…你看到了吗?我看到了,但它不起作用。你在哪个api级别上测试这个?非常感谢!解决了我的问题。今天我学到了:我应该总是发布尽可能详细的问题
sample = sample.replace("\\\n", System.getProperty("line.separator"));
textView1.setText(sample.replaceAll("\\\\n", "\n"));