2012-03-07 10 views
1

なぜそれが動作しないのか分かりません。私のTextViewは既に設定された行= 6です。上記のコードTextViewに ` n 'という新しい行を追加しても動作しません。

address.setText((String) bundle.get("address")); 

まだ文字列新しいものではない行として\n表示:これはのような文字列は、コードに設定されています。

address.setText("line1\nline2"); 

このコードは正常に動作します:bundle.get("address")assetで「LINE1の\ nline2」ファイルストアですが、私はこれをしようとすると、どの.datから取得されます。

何が間違っていますか?事前に感謝します。

+0

コードを.datファイルでも表示したい場合があります。 – kabuko

+0

読み込みファイルに何も問題はありません。コンテンツを表示しますが、 '\ n'は改行として表示されません。 – HelmiB

答えて

3

これは本当に私が探している答えではありませんが、\nString(テキストファイルから読み取る)内のコードを\nに置き換えることができました。ここに私の解決策があります。

String seperator = "\n"; 
String []tempText = a.split(seperator); 

if (a.contains(seperator)){ 
     String b= ""; 
     for (String c : tempText) 
      b +=c+"\n"; 
     b= b.substring(0, b.length()-2); 
     address.setText(b); 

    }else{ 
     address.setText((String) bundle.get("address")); 

    } 
0

なぜあなたはエスケープシーケンスを与えてみませんか? アセットファイルで\ nを\\ nに置き換えて、今すぐ正しく表示されているかどうか確認してください。

+0

はまだ動作しません。 '\\ n'を表示します。 – HelmiB

0

おそらくスラッシュは.datファイルにエンコードされています。そこに実際に改行文字があることを確認してください。

+0

あなたが何を意味しているのかよく分かりません。 'line1 \ nline2'と表示しますが、区切り線は表示されません。 – HelmiB

+0

あなたの.datファイル内に文字通り:line1 \ nline2がある場合、それは何が出てくるのでしょうか? 。 \ nは、改行文字を表すためのJava(および他のいくつかの言語)の特別な規則です。詳細については、[この質問](http://stackoverflow.com/questions/3537706/howto-unescape-a-java-string-literal-in-java)を参照してください。 – kabuko

関連する問題