2011-04-29 75 views
0

我正在使用Java中的Android应用程序,该应用程序将通过蓝牙接收的数据写入到数组适应器以显示在屏幕上。一些数据包括新行和回车符,而不是那些在arrayadapter中执行它们各自操作的数据,我只想在arrayadapter中显示它们的文字ASCII值(\ n,\ r)。 在Android SDK中有这样做的自然方法吗?还是需要解析数据才能做到这一点? 下面是代码,我用它来设置一个ArrayAdapter位:直接写入ASCII值

byte[] writeBuf = (byte[]) msg.obj; 
String writeMessage = new String(writeBuf); 
conversationArrayAdapter.add("Me: " + writeMessage); 

感谢任何投入!

回答

0

您必须在字符串内部将它们转义,以便显示为“\ n”和“\ r”,否则该视图将会解释字符本身;类似于:

String writeMessage = new String(writeBuf); 
String escaped = writeMessage.replaceAll("\n","\\n").replaceAll("\r","\\r"); 

不是100%确定该语法,但这就是主意。

+0

啊,这看起来很有前途,谢谢你的建议! – Dustin 2011-04-29 23:37:41