티스토리 뷰


string.xml 에 등록한 String 은 R.string.mystring 을 하게 되면 id가 구해지고
getString(R.string.mystring) 을 하게 되면 그 안에 있는 String 값을 구 할 수가 있다.

하지만 해당 소스에 Activity 가 상속 되어있지 않을경우나 Activity가 아닐경우
getString() 을 쓸 수가 없다...
아무튼 예를들어 LinearLayout만 상속 했다던지 뭐 그런경우다.

LinearLayout 등 Layout 을 상속한 곳에서는
this.getResources().getString(R.string.mystring)
하면되고

BaseAdapter 등 Adapter 종류를 상속한 곳에서는 Adapter 인자인 context에다가
context.getResources().getString(R.string.mystring)
하면된다.

그리고

바로 써먹지않고
Resources res = getResources(); //this생략
또는
Resources res = context.getResources();
로 Resources 를 만들어 놓은 후 계속 재사용 할 수도 있다.

상속한것도 없이 넝그러니 있는것은 호출하는 곳에서 Context 를 넘겨받아서 처리하면 된다.

[출처] http://devbible.tistory.com
[원본] http://devbible.tistory.com/24

댓글