2016-12-19 7 views
0

this question에 대한 대답은 내 텍스트에 완벽하게 적용됩니다 ... 처음. 나는 몇 가지 리소스 파일 정의 문자열이 다음 <u> 태그가 제대로 나는 텍스트를 표시 처음 작동문자열에서 계속 나타나는 Android의 밑줄 텍스트 대체

<string name="permission_replace">PERMISSION</string> 
<string name="warn_permission">This app needs PERMISSION to work properly. Update in <u>settings</u>.</string> 

을,하지만 난 내 자리를 대체 할 갈 때 ("PERMISSION") 밑줄을 잃게됩니다. 다음은 내가 교체 작업을 수행하는 방법입니다.

warnPermissionText.setText(warnPermissionText.getText().toString().replaceAll(getString(R.string.permission_replace),"some permission text")); 

교체를 통해 밑줄 태그를 유지하려면 어떻게해야합니까? 아니면 프로그래밍 방식으로 다시 추가해야합니까? 처음에는 어떤 마법이 서식을하는지 모르겠습니다.

답변

2

언제든지 toString()으로 전화하면 "이봐, 거기있는 멋진 형식을 모두 없애라."라고 말하고있는 것입니다.

The TextUtils class에는 CharSequence에 직접 적용 할 수있는 많은 유틸리티 방법이 있으므로 형식을 유지해야합니다. 최소한 단순한 경우에는 the replace() method이 작동해야합니다. 특정 경우

, 당신은 또한 당신이 This app needs %s to work properly. Update in <u>settings</u>.-This app needs PERMISSION to work properly. Update in <u>settings</u>.를 변경하는 경우, the N-parameter form of getString() 사용하고 getString() 호출 %s에 대한 값을 제공 할 수 있습니다.