0

Im ein einfaches Netzwerk-App machen und wollen das Chat-Protokoll laden auf bis starten, das funktioniert gut, aber es formatiert den Text als eine ZeileLesetextdatei zu halten vorherigen Format

Schreiben

CharSequence cs = tv.getText(); 
final String str = cs + "\r\n" + s; 
//Write to text file 
try { 
FileOutputStream fos = openFileOutput("Chat Log", Context.MODE_APPEND); 
fos.write(s.getBytes()); 
fos.close(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 



} 
catch (IOException e1) 
{ 

e1.printStackTrace(); 
} 
//close the socket 
socket.close(); 
Datei

Lesetext

final TextView tv = (TextView)findViewById(R.id.textView1); 
try { 
BufferedReader inputReader = new BufferedReader(new InputStreamReader(
openFileInput("Chat Log"))); 
String inputString; 
StringBuffer stringBuffer = new StringBuffer(); 
while ((inputString = inputReader.readLine()) != null) { 
stringBuffer.append(inputString + "\r\n"); 
tv.append(inputString); 
} 

} catch (IOException e) { 
e.printStackTrace(); 
} 

Aktuell Ergebnis Screenshot

Antwort

0

Sie sollten die Formatierung mit Html.toHtml und Html.fromHtml speichern können.

Etwas entlang der Linien von:

String htmlFormatted = Html.toHtml(tv.getText()); 
// .. save to file .. 

Dann:

Spanned htmlFormatted = Html.fromHtml(chatLog); 
tv.setText(htmlFormatted); 

Siehe diese ähnlichen Fragen:

+0

@ josh-reilly Bitte akzeptieren Sie die Antwort oder lassen Sie mich wissen, wenn es nicht hilfreich war. – silverjam