我正在使用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但我希望有一个新行。有没有办法处理所有转义序列,以便正确显示结果。我已经尝试了很长一段时间,但无法找到解决方案。请指导我。在此先感谢!!
答案 0 :(得分:1)
首先,在xml文件中设置 editText ,如下所示:
<EditText
android:id="@+id/editText"
.
.
.
.
android:inputType="textMultiLine" >
现在用新行字符 -
添加文本et.setText("Compilation error \n compile");
这有效,尽情享受!!!
答案 1 :(得分:0)
将out1.substring(2,out1.length()-2)
替换为out1
。