Android置底一个View后运行报错

简介: 大致问题是 放一个LinearLayout ID @+id/layout ,然后在它上面放一个button 设置android:layout_above="@id/layout"  理论上就表示LinearLayout是位于Buttons的下方,原本以为这样就大功告成了,没想到却得到一个莫名其妙的...

大致问题是 放一个LinearLayout ID @+id/layout ,然后在它上面放一个button 设置android:layout_above="@id/layout" 

理论上就表示LinearLayout是位于Buttons的下方,原本以为这样就大功告成了,没想到却得到一个莫名其妙的编译错误:

error: Error: No resource found that matches the given name (at 'layout_above' with value 

 '@id/layout').

说是在android:layout_above这条属性语句中,找不到@id/所指的资源

我们一般习惯按照布局的排版顺序依次列写我们的xml代码,但是像上述这样的xml并没有按照布局的顺序编写,而是为了解决找不到ID这个问题,把本应该写在前面的LinearLayout前置了。总觉得很别扭,有没有什么方法既能解决找不到ID的问题,又能按照实际布局的顺序编写XML布局代码呢?答案是肯定的。

就如同C++里解决两个相互嵌套类的方案——前置声明一样,布局文件中也有所谓的“前置声明”。

既然问题在于该ID的使用出现在声明之前,那么我们就试图把ID的声明提前。

这里用到了另一个xml配置文件,bill暂且将其命名为myids,在myids.xml中编写如下内容:

 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources
  3.     <!-- 手动声明资源ID,类似于C++中的前置声明 --> 
  4.     <item type="id" name="layout"></item
  5. </resources

 

这样便手动向系统添加了一个ID layout 系统会根据这条xml代码在R类中生成对应的int型资源。

还一种是先声明,把button放在layout后面。

目录
相关文章
|
1天前
|
Android开发
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
13 1
|
14天前
|
Android开发 开发者
安卓投屏神器 Scrcpy安 报错ERROR: Could not find any ADB device
使用Scrcpy安卓投屏工具时遇到报错,问题根源是未开启开发者模式。解决步骤:进入设置,点击【关于手机】→连续点击版本号激活开发者模式,然后在【系统设置】→【开发者选项】中开启USB调试。参照此方法后可正常执行。Scrcpy软件下载链接和GitHub页面也已提供。
24 1
|
XML 缓存 IDE
解决Android Studio报错:Compilation is not supported for following modules
本文主要解决和"Compilation is not supported for following modules"有关的报错。
1431 0
解决Android Studio报错:Compilation is not supported for following modules
|
6月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
63 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
8月前
|
数据安全/隐私保护 Android开发
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
836 0
|
9月前
|
前端开发 Android开发
在android studio中启动模拟器的时候报错...keeps shopping
在android studio中启动模拟器的时候报错...keeps shopping
67 0
|
11月前
|
Android开发
Android关于Manifest清单文件name报错
在清单文件的根目录加上package 里面的是你的包名 activity的name,前面有个点是接上了你的package名,省略了包名,不然 com.yyt.accountbooks.activity.LoginActivity这样就是不简写的。
61 0
|
11月前
|
数据可视化 开发工具 Android开发
Android Git 拉取代码报错:error: cannot pull with rebase: Your index contains uncommitted changes.
造成原因:在使用Android Studio中Git的Commit Directory 将本地更改的代码保存到本地后,点击commit,发现提交不上去,发现本地有代码,这时候拉取代码,报错:cannot pull with rebase: Your index contains uncommitted changes.表示我的索引有未提交的改变
|
Android开发
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.
635 0
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.
|
定位技术 Android开发
android build.prop导致GooglePlay报错
android build.prop导致GooglePlay报错
95 0