attribute 的名字重复的问题

转载 2016年06月01日 20:10:05
如果从单独开发app的话,可能不会遇到多个自定义类的attribute 的名字重复的问题。但是如果是团队合作开发的话,可能会碰到这样的问题,A和B自定义的两个类都用了同一个名字来定义属性,这时系统会报出警告,Attribute "xxx" has already been defined. A和B又都不想修改自己的名字,这时就很头痛。

下面举个例子,在values文件夹下定义一个上面的attrs.xml的文件,eclipse即会报错:Attribute "icon" has already been defined。因为在PreferenceHeader, Preference两个属性集里定义了两个相同的属性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<? xml version = "1.0" encoding = "utf-8" ?>
< resources >
     < declare-styleable name= "PreferenceHeader" >
        <!-- Identifier value for the header. -->
        < attr name= "id" format = "integer"/>
        < attr name= "icon" format = "integer" />
        <!-- The fragment that is displayed when the user selects this item. -->
    </declare-styleable >
    < declare-styleable name= "Preference" >
        < attr name= "icon" format = "integer" />
        <!-- The key to store the Preference value. -->
        < attr name= "key" format = "string" />
    </declare-styleable >
</ resources >
解决方案:
1.在xml文件里前面先声明属性
2.然后在属性集合里引用声明的属性即可。
以上面的文件为例来修改,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<? xml version = "1.0" encoding = "utf-8" ?>
< resources >
     < attr name = "icon" format = "integer" />
     < declare-styleable name= "PreferenceHeader" >
        <!-- Identifier value for the header. -->
        < attr name= "id" format = "integer"/>
        < attr name= "icon" />
        <!-- The fragment that is displayed when the user selects this item. -->
    </declare-styleable >
    < declare-styleable name= "Preference" >
        < attr name= "icon"  />
        <!-- The key to store the Preference value. -->
        < attr name= "key" format = "string" />
    </declare-styleable >
</ resources >

DataBinding详细使用文档

Android新推出了一个官方的数据绑定框架Data Binding Library,既然是官方推出的新玩意,我们就有必要了解一下Android新带来的数据绑定框架,等到该框架推出正式版的时候,我们就...
  • hello_1s
  • hello_1s
  • 2016年10月12日 11:35
  • 2033

C# 中自定义Attribute值的获取与优化

C#自定义Attribute值的获取是开发中会经常用到的,一般我们的做法也就是用反射进行获取的,代码也不是很复杂。 1、首先有如下自定义的Attribute [AttributeUsage(A...
  • hegx2001
  • hegx2001
  • 2015年12月18日 15:46
  • 7204

C#制作ORM映射学习笔记一 自定义Attribute类

之前在做unity项目时发现只能用odbc连接数据库,感觉非常的麻烦,因为之前做web开发的时候用惯了ORM映射,所以我想在unity中也用一下ORM(虽然我知道出于性能的考虑这样做事不好的,不过自己...
  • tczhoulan
  • tczhoulan
  • 2016年09月04日 16:44
  • 1979

ILIST添加操作去掉重复的名字

  • 2008年11月07日 15:38
  • 37KB
  • 下载

Java SSH项目中,Struts.xml中result的名字不可以重复!

"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/...
  • u013456370
  • u013456370
  • 2015年01月23日 14:23
  • 604

防止重复的item name,自动修改名字

在Sitecore中,创建item时是允许重复的节点名字的。但这会造成一个问题,就是内容编辑人员有可能在一个节点下面建立2个同样name的节点,造成两个节点的url一样,前台用户在访问时就无法辨识要访...
  • roysunle
  • roysunle
  • 2014年12月08日 11:47
  • 353

输入框的value问题(DOM的property和attribute)

用js给input赋值的一般采用以下两种方式: 一、i.value=200; 二、i.setAttribute('value',300); 已上两种看似都是给value赋值,但是结果去不同。 输入框...
  • wangji5850
  • wangji5850
  • 2016年03月18日 16:59
  • 1328

pg_attribute表容量膨胀问题分析

PG数据库下表字段更新对pg_attribute表空间影响:1)TEST数据库下已有一张class表,信息如下,包含两个字段int类型的num和varchar(20)类型的name: TEST=...
  • arcticJian
  • arcticJian
  • 2015年11月20日 18:06
  • 344

JSP(Tomcat)问题: The value for the useBean class attribute is invalid

JSP代码: 详解 Tomcat: The value for the useBean class attribute is invalid 问题: ...
  • GUITK
  • GUITK
  • 2012年11月13日 13:02
  • 5410

UnsupportedOperationException: Failed to resolve attribute xxx系列的问题

接着上篇文章,讲到了有个UnsupportedOperationException的问题 Caused by: java.lang.reflect.InvocationTargetException\...
  • firedancer0089
  • firedancer0089
  • 2017年06月19日 10:10
  • 897
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:attribute 的名字重复的问题
举报原因:
原因补充:

(最多只允许输入30个字)