2014-04-20 4 views
4
나는 그것이 작동 아래와 같이 수동으로 텍스트 뷰의 문자열을 설정

.Android TextView 위젯에 표시 할 줄에 줄 바꿈을 삽입하려면 어떻게해야합니까?

<TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="line 1 \n line 2"/> 

그러나이 텍스트보기에 문자열을 표시하려고하면 새 줄로 이동하지 않습니다.

String sample = "line 1 \n line 2"; 
textView1.setText(sample); 

참고 : 사실 내가 SQLite 데이터베이스에서 문자열을 얻고있다. 그러나 그것은 차이를 올바르게 만들어서는 안된다. Beacause는 여전히 String입니다.

sample = cursor.getString(DBAdapter.COL_sample); 
textView1.setText(sample); 

그래서, 지금 내 텍스트 뷰는 "\ n"또는 "\ r에 \ n"대신 줄 바꿈의 문자를 보여줍니다.

+1

두 경우 모두 나를 위해 작동 ... 본 [이] (http://stackoverflow.com/questions/5382490/how-to-add-a-line-break-in-an-android-textview) ? rq = 1)? – Onik

+0

내가 가지고 있지만, 그것은 어떤 API 레벨이을에 대한 테스트 슬프게도 – AspiringDeveloper

+0

작동하지 않는 이유는 무엇입니까? – singularhum

답변

3

아를 시도 할 수 있습니다, 그것은 문제가있다.

당신은 Blundell은 here으로 대답을 참조 할 수 있습니다.

문제는 당신이 (그래서 있도록 슬래시를 제거 제대로 표시 할 언 이스케이프 필요합니다 SQLite는 그렇게 새 라인 문자를 이스케이프합니다 당신은 다시 검색 할 때, 그것은 \\\n 또는 동등 나올 것입니다 . 단지 \n입니다

그래서 새 라인 문자가 데이터베이스에 저장되는 내용에 따라, 그에 따라 처리해야합니다.

그래서 링크 대답을 사용하여, 당신은에 따라 달라집니다 이런 식으로 뭔가를 (할 수 백 슬래시 수 및 다른 문자 수) :

textView1.setText(sample.replaceAll("\\\\n", "\n")); 

여러 장소에서 그것을 할 필요가 있다면 6,이하는 기능을 만들 수 있습니다.

+0

많은 사람 감사합니다! 내 문제를 해결했다. 오늘 나는 배웠다. 나는 항상 가능한 한 자세하게 질문을 게시해야한다. – AspiringDeveloper

1

당신이 (당신이 신속하게 cmd를 + 1 개 버튼이 작업을 수행 할 수 있음) strings.xml의 파일로 추출 할 때이 작업을 수행합니다.

는 수정, 당신은 제대로 보너스로 당신의 문자열을 추출합니다.

+0

미안하지만 나는 총 초보자이며 너는 무슨 말을하고 있는지 모른다. 이 문제를 해결하는 방법에 대한 자세한 지침을 제공 할 수 있습니까? – AspiringDeveloper

+0

문자열을 강조 표시하십시오. cmd + 1을 누릅니다. 그런 다음이를 위해 ide에 대한 추출 문자열 옵션을 선택하십시오. 끝나면 이해할 수 있습니다. res 폴더를 확인하십시오. – Booger

0

당신은 이제 당신이이 SQLite 데이터베이스에서 말할 이후

sample = sample.replace("\\\n", System.getProperty("line.separator")); 
관련 문제