我正在使用 HTTP POST 请求从 API 获得响应,其中包含一些转义序列,例如\n、\t 等。当我尝试在 editText 中显示它时,它显示为\n 和\t 但我期待一个新行或水平制表符。这是我的代码:
String out1 = sys.getString("stdout");
Toast.makeText(getApplicationContext(), out1, Toast.LENGTH_LONG).show();
String time1 = sys.getString("time");
if(compile.length()>0 && time1.equalsIgnoreCase("null")){
et.setText("Compilation error "+"\n"+compile);
}
else if(compile.length()>0){
et.setText("Runtime error "+"\n"+compile);
}
else
et.setText(message.substring(2,message.length()-2)+" time: "+time1.substring(1,Math.min(time1.length(),4))+" memory: "+mem.substring(1,mem.length()-1)+"\n"+out1.substring(2,out1.length()-2));
//et.setText(result);
} catch(Exception e){
e.printStackTrace();
}
JSON 对象 stdout 类似于 "stdout":["5\n6"] 并且在 editText 中打印它时显示 5\n6 但我希望换行。有什么方法可以处理所有转义序列以正确显示结果。我已经尝试了很长时间,但找不到解决方案。请指导我。提前致谢!!
最佳答案
首先,像这样在 xml 文件中设置您的 editText:
<EditText
android:id="@+id/editText"
.
.
.
.
android:inputType="textMultiLine" >
现在把你的文本换行符 -
et.setText("Compilation error \n compile");
这有效,享受!!!
关于java - 为什么我无法在 Android 的 edittext 中打印转义序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635928/