java - 为什么我无法在 Android 的 edittext 中打印转义序列?

标签 java android json android-edittext

我正在使用 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/

相关文章:

java - 问:Mockito - Using @Mock and @Autowired

java - android 将变量从一种方法传递到另一种方法

android - 适用于 Android 的 Actionscript 3 - 我应该将鼠标事件监听器附加到舞台还是单个 Sprite ?

mysql - 解析带保留字的 MySql 查询

iphone - 使用 TouchJson 序列化字典时出现问题

php - 无法将mysqli_result类的对象转换为C:\wamp\www\webservice_mine.php中的字符串

java - Selenium TestNG 测试依赖于其他方法

java - 如何在 Ruby 和 Java 之间序列化/解析 protobuf 对象?

java - 为什么使用 invokedynamic 调用 Java 8 lambda?

android - Android 中操作/标签栏的正确模式