我正在Java中编写Android应用程序,该应用程序将我通过蓝牙接收到的数据写入arrayadapter以显示在屏幕上。一些数据包括新的行和回车,而不是在arrayadapter中执行它们各自的操作,我只是想在arrayadapter中显示它们的文字ASCII值(n, r)。在Android SDK中是否有一种自然的方法来做到这一点,或者我是否需要解析数据才能做到这一点?下面是我用来设置arrayadapter的代码:
byte[] writeBuf = (byte[]) msg.obj;
String writeMessage = new String(writeBuf);
conversationArrayAdapter.add("Me: " + writeMessage);
谢谢你的建议!
你必须在字符串内转义它们,以便它们显示为"n"one_answers"r",否则视图将解释字符本身;比如:
String writeMessage = new String(writeBuf);
String escaped = writeMessage.replaceAll("n","\n").replaceAll("r","\r");
不是100%确定语法,但这就是思路。