2012-05-04 4 views
4

기지가 다르다는 것은 setId()이 을 매개 변수로 취하는 반면 setTag()Object을 차지한다는 것을 알고 있습니다. 나는 실질적인 조언에 대해 더 많이 묻고있다.set/getId()와 set/getTag()의 차이점은 무엇입니까?

프로그래밍 방식으로 더 많은 요소를 생성 할 때 setId(++counter)을 통해 해당 ID를 설정하면 어떤 요소가 onClick 이벤트를 보냈는지 알 수 있습니다. 그리고 setTag(++counter)을 통해 동일한 작업을 수행 할 수 있지만 이전 방법에 익숙합니다.

setId()을 사용할 때 setTag()을 사용해야하는시기는 언제입니까?

내 방식이 맞으면 추가 데이터를 전달할 때 setTag()을 사용 하겠지만이 문제에 대한 의견을 먼저 남겨 두겠습니다.

+0

이 스레드는 http : // stackoverflow를 확인하십시오.com/questions/5291726/what-is-the-settag-gettag-methods-of-view – vandzi

+0

중복 질문 : http://stackoverflow.com/questions/9757069/what-are-tag- and-id-in-android –

+0

@vandzi 그것을 보았습니다. 그것은 내가이 질문을 게시하게했다. 덕분에 – sandalone

답변

4

당신의 추측이 맞습니다. 코드에서 특정 View을 식별하는 방법을 원할 때 setId()을 사용하고 View과 함께 추가 정보를 전달하려는 경우 setTag (추가 데이터가 해당 코드를 고유하게 식별 할 수도 있고 그렇지 않을 수도 있음)를 사용해야합니다. setTag 메서드 만 사용하고 id + 추가 데이터가 포함 된 복합 개체를 전달할 수 있지만이 경우 두 가지 메서드를 호출하는보다 간단한 방법 대신 특수 개체를 작성해야합니다.

편집 : 조회수 그들과 관련된 정수 ID를 가질 수있다

ID를

다음 View 클래스 워드 프로세서는 그 두 가지 방법에 대한 유용한 정보가 포함되어 있습니다. 이 ID는 일반적으로 레이아웃 XML 파일에 할당 된 이며보기 트리에서 특정보기를 찾기 위해 사용됩니다.

태그 ID를 달리

는 태그 뷰를 식별하는 데 사용되지 않습니다. 태그는 기본적으로 이며보기와 연결할 수있는 추가 정보입니다. 그것들은 각각 구조체에 넣는 대신보기 자체에있는 보기의 데이터와 관련된 데이터를 저장하는 편의를 위해 가장 자주 사용됩니다.

1

ID은 앞으로 볼 수 있도록 모든보기에 할당 할 수있는 (일반적으로 고유 한) 정수 유형의 속성입니다.

TAG은 추가 데이터를 할당하는 데 사용되는 속성 유형 (사용자가 직접 지정할 수 있음)이며, 다른 Object는 유사한 태그를 포함 할 수 있습니다.

보기를 고유하게 식별하려는 경우 ID가 있어야합니다 (원시 데이터 형식이므로 소량의 메모리가 사용됨). 반면에 객체가 추가 정보를 전달하도록하려면 TAG .

관련 문제