【在线等】android 新建一个layout文件R没有对应的id

新建了android工程,做自定义控件的时候,在res/layout/下面新建一个"AndroidXMLLayoutFile",但是发现R中的layout没有这个文件的I... 新建了android工程,
做自定义控件的时候,在res/layout/下面新建一个"Android XML Layout File",但是发现R中的layout没有这个文件的ID
我看别人做自定义控件的时候可以通过R.layout.XXX使用自定义的xml文件,但是为什么我的不行呢?
展开
 我来答
QQMSD8
推荐于2016-10-18 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标示,其内容如下所示。

Java代码:
package com.xxx.xxx;
// 资源类
public final class R {
// 数组
public static final class array {
public static final int faultRecords=0x7f060000;
}
// 属性
public static final class attr { }
// 颜色
public static final class color {
public static final int black=0x7f040001;
public static final int red=0x7f040000;
}
// 图片
public static final class drawable {
public static final int icon=0x7f020001;
public static final int logo2=0x7f020002;
}
// ID标示
public static final class id {
public static final int licenseEditText=0x7f070022;
public static final int lngEditText=0x7f070001;
}
// 布局
public static final class layout {
public static final int custom_dialog=0x7f030000;
public static final int custom_dialog1=0x7f030001;
}
// 字符串
public static final class string {
public static final int app_name=0x7f050001;
public static final int hello=0x7f050000;
}
}

1.在代码中使用资源文件

在代码中访问资源文件,我们是通过使用R资源类中定义的资源文件类型和资源文件名称来访问的。具体格式为:R.资源文件类型.资源文件名称。例如:

Java代码:
// 设置Activity显示的布局视图
setContentView(R.layout.login_system);
// 获得Button实例
cancelBtn = (Button)findViewById(R.id.cancelButton);
loginBtn = (Button)findViewById(R.id.loginButton);
// 获得TextView实例
userEditText = (EditText)findViewById(R.id.userEditText);
pwdEditText = (EditText)findViewById(R.id.pwdEditText);
}

另外,除了访问用户自己定义的资源文件,还可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统中的资源文件格式为:android.R.资源文件类型.资源文件名称。例如:

Java代码:
int i ;
// 动画
i = android.R.anim.fade_in;
// 数组
i = android.R.array.emailAddressTypes;
// 颜色
i = android.R.color.darker_gray;
// 尺寸
i = android.R.dimen.app_icon_size;
// 可绘制图片
i = android.R.drawable.title_bar;
// 字符串
i = android.R.string.cancel;

2.在其他资源文件中引用资源文件

我们经常会在布局文件的元素属性中引用其他资源文件,经常用到的有字符串、图片、颜色等资源。例如,下列布局文件中的TextView组件引用了一个字符串来表示文本内容,引用了一个颜色来表示文本颜色,引用了一个尺寸来表示文本尺寸。

Java代码:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/styled_welcome_message"
android:textColor="@color/opaque_red"
android:textSize="@dimen/sixteen_sp" />
lucky_znk
2013-01-20 · TA获得超过881个赞
知道小有建树答主
回答量:800
采纳率:0%
帮助的人:538万
展开全部
你确定选上了Automatic Build Project?不自动构建项目的话Clear之后是不会自动生成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
i粉红的蒲公英
2013-01-22
知道答主
回答量:30
采纳率:100%
帮助的人:10.8万
展开全部
Project->Clean
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zykaiser
2013-01-21 · TA获得超过170个赞
知道答主
回答量:73
采纳率:0%
帮助的人:24.1万
展开全部
自定义控件不一定要在layout里面定义XML 文件 自己新建一个文件夹试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gunnerbai
2013-01-19 · TA获得超过251个赞
知道答主
回答量:34
采纳率:0%
帮助的人:31.2万
展开全部
clear下 要不就看下这个文件是否有错误!
追问
没有报错,新建的文件,什么也没改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式