Android@id和@+id区别

news/2024/11/24 1:40:52/

Android中的组件需要用一个int类型的值来表示,这个值就是组件标签中的id属性值。


id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。


如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数。如果xyz在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。


既然组件的id属性是一个资源id就可以,那么自然可以设置任何已经存在的资源id值,例如,@drawable/icon、@string/ok、@+string/you等。也可以设置android系统中已存在的资源id,例如@id/android:list,那么,这个android是什么意思呢,实际上,这个android就是系统的R类(在R.java文件中)所在的package。


我们可以在Java代码编辑区输入android.R.id.,就会列出相应的资源id,例如,也可以设置id属性值为@id/android:message。


还有另外一种方法查看系统中定义的id,进入sdk/platforms/android-16/data/res/values目录,ids.xml文件;

<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2007, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<resources><item type="id" name="background" /><item type="id" name="checkbox" /><item type="id" name="content" /><item type="id" name="empty" /><item type="id" name="hint" /><item type="id" name="icon" /><item type="id" name="icon1" /><item type="id" name="icon2" /><item type="id" name="input" /><item type="id" name="left_icon" /><item type="id" name="list" /><item type="id" name="menu" /><item type="id" name="message" /><item type="id" name="primary" /><item type="id" name="progress" /><item type="id" name="right_icon" /><item type="id" name="summary" /><item type="id" name="selectedIcon" /><item type="id" name="tabcontent" /><item type="id" name="tabhost" /><item type="id" name="tabs" /><item type="id" name="text1" /><item type="id" name="text2" /><item type="id" name="title" /><item type="id" name="title_container" /><item type="id" name="toggle" /><item type="id" name="secondaryProgress" /><item type="id" name="lock_screen" /><item type="id" name="edit" /><item type="id" name="widget_frame" /><item type="id" name="button1" /><item type="id" name="button2" /><item type="id" name="button3" /><item type="id" name="extractArea" /><item type="id" name="candidatesArea" /><item type="id" name="inputArea" /><item type="id" name="inputExtractEditText" /><item type="id" name="selectAll" /><item type="id" name="cut" /><item type="id" name="copy" /><item type="id" name="paste" /><item type="id" name="copyUrl" /><item type="id" name="selectTextMode" /><item type="id" name="switchInputMethod" /><item type="id" name="keyboardView" /><item type="id" name="closeButton" /><item type="id" name="startSelectingText" /><item type="id" name="stopSelectingText" /><item type="id" name="addToDictionary" /><item type="id" name="accountPreferences" /><item type="id" name="smallIcon" /><item type="id" name="custom" /><item type="id" name="home" /><item type="id" name="fillInIntent" /><item type="id" name="rowTypeId" /><item type="id" name="up" /><item type="id" name="action_menu_divider" /><item type="id" name="icon_menu_presenter" /><item type="id" name="list_menu_presenter" /><item type="id" name="action_menu_presenter" /><item type="id" name="overflow_menu_presenter" /><item type="id" name="popup_submenu_presenter" />
</resources>
若在ids.xml中定义了ID,则在layout中可如下定义@id/price_edit,否则@+id/price_edit;

简单来讲:

@+id 新增一个资源id
@id和android:id,引用现有的资源id

原文地址点击打开链接

http://www.ppmy.cn/news/339058.html

相关文章

苹果id是什么格式的_iTunes Converter mac(音频格式转换工具)

想要转换音频格式&#xff1f;无论什么格式的音频文件&#xff0c;iTunes Converter可以在iTunes软件转换成MP3或AAC格式的你。所以这也是一个M4P / AA到MP3转换器。 iTunes Converter for Mac软件介绍 iTunes Music Converter For Mac是一款Mac平台的iTunes DRM 媒体转换器&am…

IOS 苹果公司开发者账号注册申请流程

去年做了一下公司的苹果开发者账号&#xff0c;根据经验写了份注册流程&#xff0c;留档备忘。 From:叶客笑 <放浪神加护> 前期准备工作&#xff1a; 之前没有进行过苹果开发者账号注册的苹果ID&#xff0c;并确保此ID开启了双重验证。 用于注册的ID姓名在申请期间需…

苹果计算机如何显示错误,科普电脑打开苹果手机视频教程及Apple ID验证失败发生未知错误怎么解决...

iPhone拍摄的视频电脑打不开怎么办?很多网友发现iPhone拍摄的视频到电脑上就打不开了&#xff0c;今天小编给大家介绍一下处理方案。 iPhone录制的视频在电脑上打不开怎么办? 双击打开qq影音电脑客户端&#xff0c; 打开QQ影音&#xff0c;点击右上角的QQ影音&#xff0c; 点…

IPHONE苹果手机短信短消息备份导出,格式分析,数据库sqlite

iphone短信无法导出&#xff0c;只能通过备份&#xff0c;再从备份文件中去找。 一、备份 IPHONE 5S&#xff0c;用ITUNES备份到电脑&#xff0c;不加密。备份在C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup Manifest.db 文件里面是文件名和目录的对应…

IOS safari 苹果微信,不支持XXXX-XX-XX的日期格式转换!

一步一步的alert&#xff0c;在IOS手机调试时候发现的这个坑&#xff0c;IOS只支持XXXX/XX/XX 这样格式的转换&#xff0c;以下内容是我解决之后找到的文章&#xff0c;希望大家别今早跨坑吧。 通常 IOS下时间错误表现形式 问题一&#xff1a; 这个界面运用了大量的日期类型的…

iOS 基本编码格式转化

iOS中编码转化 1.UTF-8转化 NSString *data "你好&#xff0c;北京&#xff01;"; //转换成UTF-8 NSString *dataUTF8 [data stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog("%",dataUTF8); //UTF-8转GBK,将UTF8代码替换&…

苹果id是什么格式的_正常聊个天手机就被黑了?苹果一口气曝出13个远程攻击漏洞...

整天 不务正业 帮其他公司找产品漏洞的谷歌安全小组 “ 零日计划 ” 又又又立功了。 克里斯埃文斯&#xff0c;谷歌 “ 零日计划 ” 安全小组主管▼ 前一阵&#xff0c;谷歌的 “ 零日计划 ” 小组一口气在苹果的操作系统里找出了 13 个可能被黑客拿来搞远程攻击的漏洞。 而且…

如何重新设置苹果id密码_ios游戏apple账号分享韩国苹果id密码大全

韩区id申请注册流程和在国内申请注册账号流程不一样&#xff0c;所选地区和填写信息要求不一样&#xff0c;现在很多游戏或者其他软件只能在日本地区发行&#xff0c;想要下载这些软件就必须要注册日本地区的id账号就能下载。 申请注册韩区id除了要注意选择地区之外&#xff0c…