关于android使用已有id,自己的id和系统id

之前在eclipse中使用自定义的RatingBar,写的drawable文件如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+android:id/background"
        android:drawable="@drawable/yellow_star_null"></item>
    <item android:id="@+android:id/secondaryProgress"
	    android:drawable="@drawable/yellow_star_half"></item>
<span style="white-space:pre">	</span><item android:id="@+android:id/progress"
	    android:drawable="@drawable/yellow_star"></item>
</layer-list>

但是直接拷到AS中使用会报错:

“Cannot Resolve Symbol” Error when using android:id=“@+android:id/background”

后来百度了一下:原因及解决方案在 这里
"@android:id/system_id"是引用系统原有的id
"@id/your_old_id"是引用自己已有的id
"@+id/your_new_id"是创建自己的id

于是把原有的drawable文件的+号去掉
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@android:id/background"
        android:drawable="@drawable/yellow_star_null"></item>
    <item android:id="@android:id/secondaryProgress"
	    android:drawable="@drawable/yellow_star_half"></item>
	<item android:id="@android:id/progress"
	    android:drawable="@drawable/yellow_star"></item>
</layer-list>


你可能感兴趣的:(android,id)