2022년 10월 10일 월요일

Resource ID 관리, R.id.같은이름?

Resource ID 관리, R.id.같은이름?

Resource ID 관리, R.id.같은이름?

한마디로, 안드로이드 스튜디오에서 리소스를 빨리 찾고 싶을떄 저렇게 두개가 나오면 순간 “멈칫” 하게된다. 게으름의 결과다.
enter image description here
@+id/textView1 과 같이 id 를 작성하면 R.java 파일에 자동으로 해당아이디가 추가된다. 그런데 같은 이름이라면 위처럼 같은 id를 가진 리소스중에서 선택하라고 하는데, 결국 한개인거다.

문제는 @+id 이것을 사용해서 여기저기 xml 문서에서 id 를 지정하면 같은 이름인데도 다른 파일에서는 중복지정이 가능한다.
따라서 리소스의 id 를 직접 관리하도록 하는게 좋은데 아래처럼 하면된다.

  • 일단 모든 id 지정은 “@id/아이디명” 으로 한다
  • @id 로 지정하면 없는 빨간색으로 되는데, values/ids.xml 파일이 있다면 아래처럼 id를 직접 적는다. 없다면? 리소스추가로 ids.xml 파일을 만든다.
<?xml version="1.0" encoding="utf-8"?>  
<resources>
    <item name="tv_main_welcome_title" type="id" />
</resources>
//textView -> tv_
//imageView -> iv_
//buttonView -> bt_
//recyclerView -> rv_
//LinearLayout -> ll_

// 사용
  
<TextView  
  android:id="@id/tv_main_welcome_title"/>
// private val title = itemView.findViewById<TextView>(R.id.tv_main_welcome_title)

0 comments:

댓글 쓰기