2012-03-07 5 views
1

왜 작동하지 않는지 모르겠습니다. 내 TextView은 이미 설정된 행 = 6입니다. 문자열은 다음과 같이 코드에서 설정됩니다 코드 위TextView에` n '줄 바꾸기가 추가되지 않습니다.

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

여전히 문자열 새로운 것이 아니다 라인으로 \n 표시됩니다. bundle.get("address")asset에서 "줄 1 \ nline2"파일 저장소입니다 .dat에서 검색하지만, 내가하려고 할 때입니다 :

address.setText("line1\nline2"); 

이 코드는 잘 작동합니다.

무엇이 잘못 되었습니까? 미리 감사드립니다.

+0

.dat 파일을 읽는 코드도 표시 할 수 있습니다. – kabuko

+0

읽기 파일에는 아무런 문제가 없지만 내용은 표시되지만'\ n'은 줄 바꿈으로 표시되지 않습니다. – HelmiB

답변

3

정말 대답은 아니지만 코드 \n (텍스트 파일에서 읽음) String\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) . \ n은 개행 문자를 나타내는 Java (및 일부 다른 언어)의 특수 규칙입니다. 자세한 내용은 [이 질문] (http://stackoverflow.com/questions/3537706/howto-unescape-a-java-string-literal-in-java)을 참조하십시오. – kabuko

관련 문제