다음과 같은 방법으로 setText () 를 사용하여 텍스트를 설정하고 있습니다.
prodNameView.setText("" + name);
prodOriginalPriceView.setText("" + String.format(getString(R.string.string_product_rate_with_ruppe_sign), "" + new BigDecimal(price).setScale(2, RoundingMode.UP)));
그 중 첫 번째 는 간단한 사용법이고 두 번째 는 서식 텍스트로 텍스트를 설정하는 것입니다.
Android Studio는 매우 흥미 롭습니다. 메뉴를 사용 Analyze -> Code Cleanup
했으며 두 줄 이상에 대한 제안을 받았습니다.
setText로 표시된 텍스트를 연결하지 마십시오. 자리 표시 자와 함께 리소스 문자열을 사용하십시오. 이하 ... (Ctrl + F1)
TextView # setText를 호출 할 때 :
- Number # toString ()을 호출하여 숫자를 형식화하지 마십시오. 분수 구분 기호 및 로캘 별 숫자를 올바르게 처리하지 못합니다. 대신 적절한 형식 지정 (% d 또는 % f)과 함께 String # format을 사용하십시오.
- 텍스트를 표시하기 위해 문자열 리터럴 (예 : "Hello")을 전달하지 마십시오. 하드 코드 된 텍스트는 다른 언어로 올바르게 번역 될 수 없습니다. 대신 Android 리소스 문자열을 사용해보십시오.
- 텍스트 청크를 연결하여 메시지를 작성하지 마십시오. 이러한 메시지는 제대로 번역 할 수 없습니다.
내가 이것을 위해 무엇을 할 수 있습니까? 누구나 무엇이 무엇이고 어떻게해야하는지 설명 할 수 있습니까?
NPE
경우 name
입니다NULL
name
하지 마십시오 . NULL
setText()
<string name="string_product_rate_with_ruppe_sign">Something %1$d</string>
및 Java 코드에서 다음과 같은 작업을 수행합니다. prodOriginalPriceView.setText(getString(R.string.string_product_rate_with_ruppe_sign), price);
(xml 파일에서 형식을 지정할 수 있습니다. [ developer.android.com/guide/topics/resources/…
String
로를setText()
. 예 :setText(name)
대신setText("" + name)
. 텍스트를 연결하면 메시지 알림으로 하드 코드 된 텍스트를 사용하는 것처럼 번역되지 않습니다