Android置底一个View后运行报错

大致问题是 放一个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后面。

时间: 2024-09-19 09:36:17

Android置底一个View后运行报错的相关文章

Android项目导入JSON的jar包后运行报错

问题描述 Android项目导入JSON的jar包后运行报错 如图,通过这样的方式导入了JSON的Jar,可是导入后项目就运行报错了: 解决方案 have a try... http://blog.csdn.net/mxlxiao7/article/details/8978930 解决方案二: 解决方案三: 我知道是Jar冲突,到底是哪个冲突呢 解决方案四: 你是不是引入了外部工程. 错误信息提示,你的 apache/commons/collections 重复引用了. 应该同一个jar包,使用

matlab 7.0安装后运行报错

问题描述 matlab 7.0安装后运行报错 在安装MATLAB7.0时,需要输入序列号,我就在网上搜索了一个,安装好后运行报了很长串的一个错误,都是以Javax开头的,求解决,还卸载不掉 解决方案 是win7 系统吧,新的系统上安装旧的matlab 版本可能就不兼容,现在都matlab2014b 出来了,最好安装2010之后的. 至于卸载,在win7下先修改win7的主题,改为windows经典主题,以后再卸载.

Python首次安装后运行报错(0xc000007b)的解决方法_python

错误提示如下: 其实这是一个挺常见的系统报错,缺乏VC++库. 我安装的是python3.5.2,这个版本需要的vc版本是2015的了,下载:Microsoft Visual C++ 2015 安装完后发现就正常了: 总结 通过以上的方法就能轻松解决首次安装Python后运行报错的问题,希望本文的内容对同样遇到这个问题的朋友们能有所帮助,如果有疑问大家可以留言交流,小编会尽快给大家回复.

eclipse里配置tomcat后运行报错

问题描述 eclipse里配置tomcat后运行报错 eclipse里配置tomcat后,tomcat能启动,项目也部署到tomcat里了,但运行web项目报错404 解决方案 eclipse 配置并运行 Tomcateclipse远程调试tomcat运行的web项目--配置 解决方案二: http://www.mamicode.com/info-detail-492134.html

spring mvc-想把用户名存在session中 在方法中加request参数后运行报错 求指教~

问题描述 想把用户名存在session中 在方法中加request参数后运行报错 求指教~ 我用的是spring+hibernate~ 修改后: public class LoginAction extends SimpleFormController{ private Login login; private String viewPage; private String successPage; //实现onSubmit()方法 public ModelAndView onSubmit(Ob

apache-maven-3.2.5安装后运行报错

问题描述 apache-maven-3.2.5安装后运行报错 maven版本是最新的apache-maven-3.2.5,jdk版本32位jdk1.6u22. 由于提示没有找到org/apache/commons/cli/ParseException的定义 尝试解决方案:下载commons-cli-1.0.jar放到classpath中未能解决. 有没有谁碰到过,请高手指点或提供解决思路. 解决方案 maven 是绿色免安装的.下载 apache-maven-3.2.5-bin.zip 后你只需

集成EaseUI后运行报错:java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$layout

问题描述 具体报错信息06-23 09:26:58.154 7443-7443/com.*****.***** E/AndroidRuntime: FATAL EXCEPTION: main                                                                            Process: com.*****.*****, PID: 7443                                           

项目工程打包后,安装完成后运行报错 C#程序,希望朋友指点,谢谢~

问题描述 在网上下载了一个工程文件,进行了二次开发,用的VS2012,程序代码是C#,增加了一些小功能,修改完成之后,打包成安装文件,在这个过程都没有报错.生成安装文件之后,在自己电脑上安装了一下,打开软件报错,截图如下编辑阶段,程序打包阶段都没有报过这个错误,有人碰到过这样的问题,或者知道是怎么造成的吗?还望指点一下,不胜感激~ 解决方案 解决方案二:那你修改完能运行吗?解决方案三:引用1楼shingoscar的回复: 那你修改完能运行吗? 程序是可以运行的,只是打完包安装后运行出现这个问题解

android studio-androi studio用安卓1.5导入一个安卓1.0的项目,运行报错

问题描述 androi studio用安卓1.5导入一个安卓1.0的项目,运行报错 解决方案 路径不要出现中文.... 解决方案二: http://www.111cn.net/sj/android/74260.htm