Android
[Android] Add @SuppressLint(“SetText18n”) annotation
카피코딩
2021. 4. 30. 16:21
안드로이드 프로그램 중 TextView에 텍스트 값을 설정 하려는 경우
Suppress: Add @SuppressLint(“SetText18n”) annotation
라는 경고가 발생합니다.
textView.setText("Your Select : "); |
TextView에 값을 하드코딩 해서 발생하는 경우인데 가능하면 값을 직접 입력하지 않도록 하는 권고 입니다. 무시해도 문제가 되지는 않지만 눈에 거슬리기 때문에 annotation을 추가해서 예외사항으로 처리해도 됩니다. 함수 상단에 @SuppressLint("SetTextI18n") annotation을 추가해 줍니다.
@SuppressLint("SetTextI18n") public void getIntentData() { ArrayList<String> stringArrayList = getIntent()... |
annotation을 추가하지 않고 해결 하는 방법으로는
/res/values/string.xml에 resource를 추가해 줍니다.
<string name="select">Your Select : </string> |
그리고 이 select 값을 불러와 하드코딩 했던 위치에 사용 합니다.
textView.setText(getString(R.string.select)); |
이렇게 작업 하는건 번거롭지만 텍스트가 변경되어 수정해야 하는 경우 xml에서만 수정하면 되고 동일한 텍스트를 여러 곳에서 사용 하더라도 xml에서 하나만 수정해서 관리하면 되기 때문에 편리한 방법 입니다.
textView.setText(textView.getText() + stringArrayList.get(i) + ",");
이런 건 어떻게 하냐...
- copy coding -