【Android开发】id="@+id/xxx"与id="@id/xxx"的区别

1、@+id和@id是用来做什么的

Android开发中要得到布局文件中控件的引用,则该控件必须设置id属性。
设置id属性的方式有id=”@+id/xxx”和id=”@id/xxx”

2、@+id和@id的区别

1、android:id=”@+id/xxx”

@+id是在R文件中生成int xxx=value,有两种情况
①R文件中不存在xxx变量,则生成int xxx=value即为控件新建一个id值
②若R文件中已存在xxx变量,则不再新建,直接引用该变量对应的id值    

2、android:id=”@id/xxx”是引用现有的资源

也就是说为控件设置id值时用@+id,引用该控件时用@id

3、例子

但是要注意的时,如果要引用的控件的在此之前没有创建过时,直接使用@id是会报错的,因此要写成@+id的形式,下面举个例子



    <TextView  
        android:id="@+id/textView2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_below="@id/textView1" //请看这一行 
        android:text="@string/textview2" />  

    <TextView  
        android:id="@+id/textView1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="@string/textview1" />  

上个例子中有注释那一行引用的是下面那个TextView1,TextView1的标识的创建是在他之后创建的,所以这样写会报错,应该将android:layout_below=”@id/textView1” 改成android:layout_below=”@+id/textView1”

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值