文档章节

Android include的一点常见错误

东西南瓜西葫芦
 东西南瓜西葫芦
发布于 2015/06/12 17:54
字数 250
阅读 16
收藏 0

废话不说,以下是在用include的时候遇到的一点问题,顺便整理了一下

1、在一个布局同时include两次同一个布局时,第二个include的控件的点击响应事件无效的时候

    布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/xuan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|center_horizontal"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="111"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="222"/>

</LinearLayout>

    include引用

        <include
               android:id="@+id/one"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               layout="@layout/xuan" />
        <include
               android:id="@+id/two"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               layout="@layout/xuan" />

    //java

        LinearLayout one = (LinearLayout) findViewById(R.id.one);
	LinearLayout two= (LinearLayout) findViewById(R.id.two);
	//
	Button button1,button2,button3,button4;
	button1= (Button) one.findViewById(R.id.button1);
	button2 = (Button) one.findViewById(R.id.button2);
	button3 = (Button) two.findViewById(R.id.button1);
	button4 = (Button) two.findViewById(R.id.button2);

    如果使用一个include时,可以直接find,效果一样

Button button = (Button) findViewById(R.id.button1);

2、Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.Button

报这个错时,看看include是否加了width,height

© 著作权归作者所有

共有 人打赏支持
东西南瓜西葫芦
粉丝 1
博文 23
码字总数 7400
作品 0
临沂
程序员
android点滴7:adb不是内部或外部命令,也不是可运行的程序或批量文件

adb不是内部或外部命令,也不是可运行的程序或批量文件。 当用cmd命令运行adb时如果提示此错误,说明环境变量设置不正确。值得注意的一点是把adb.exe的文件位置加入到path中时一定要加在and...

独鸣在彼岸
2012/05/11
0
0
不要在为唯一的port号烦恼了

老式的写法: ServerSocket srv = new ServerSocket(portNumber) 与时俱进的例子: (那也是相对于2008年了) ServerSocket srv = new LocalServerSocket("a.b.c"); 参数其实随便什么string都...

Q_J
2015/05/27
0
0
android include merge标签

include和merge标记的作用主要是为了解决layout的重用问题。 比如我们有三四个Activity但是他们都要用到同一个样式的标题栏,虽然我们把一样的代码copy个三四遍也没关系,但实在是太丑了,而...

卐字旗下的余晖
2014/05/28
0
0
开源中国 OsChina Android 客户端源码分析(2)滑动菜单DrawerLayout

1滑动菜单oschina使用了android.support.v4.widget.DrawerLayout,之前没有用过这个控件,百度了下,大致了解如下: 1.1类似与LinearLayout,就是一个布局控件。 1.2使用时,其有两部分组成,...

姬鑫
2015/05/20
0
3
Android 性能优化:使用 Lint 优化代码、去除多余资源

前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范、可维护性。 今天,以“成为优秀的程序员”为目标的拭心将和大家一起精益求精,学习使用 Lint 优化我们的...

记录自己的点点滴滴
07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部