여러 클래스 정의attr 속성 중복 질문: Attribute "xxx"has already been defined

단독으로 앱을 개발하면 여러 개의 사용자 정의 클래스의attribute 이름이 중복되는 문제를 겪지 않을 수 있습니다.그러나 팀워크 개발이라면 이런 문제에 부딪힐 수 있다. A와 B가 정의한 두 종류는 모두 같은 이름으로 속성을 정의하는데 이때 시스템은 경고를 보낸다.
Attribute "xxx"has already been defined. A와 B 모두 자신의 이름을 고치고 싶지 않아 머리가 아프다.
다음은 예를 들어values 폴더 아래에 위의attrs를 정의합니다.xml 파일, eclipse가 오류를 보고합니다: Attribute "icon"has already been defined.Preference Header, Preference 두 속성 집합에서 같은 두 개의 속성을 정의했기 때문이다.
 xml version = "1.0" encoding = "utf-8" ?>
< resources >
     < declare-styleable name= "PreferenceHeader" >
        
        < attr name= "id" format = "integer"/>
        < attr name= "icon" format = "integer" />
        
    
    < declare-styleable name= "Preference" >
        < attr name= "icon" format = "integer" />
        
        < attr name= "key" format = "string" />
    
 resources >

솔루션:
1. xml 파일 앞에서 먼저 속성을 표시합니다
2. 그리고 속성 집합에서 성명된 속성을 인용하면 된다.
위의 파일의 경우 다음과 같이 수정됩니다.
 xml version = "1.0" encoding = "utf-8" ?>
< resources >
     < attr name = "icon" format = "integer" />
     < declare-styleable name= "PreferenceHeader" >
        
        < attr name= "id" format = "integer"/>
        < attr name= "icon" />
        
    
    < declare-styleable name= "Preference" >
        < attr name= "icon"  />
        
        < attr name= "key" format = "string" />
    
 resources >

좋은 웹페이지 즐겨찾기