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

时间:2014-12-24 11:08:53

标签: 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但我希望有一个新行。有没有办法处理所有转义序列,以便正确显示结果。我已经尝试了很长一段时间,但无法找到解决方案。请指导我。在此先感谢!!

2 个答案:

答案 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