2011-04-29 31 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