文档章节

Android include的一点常见错误

东西南瓜西葫芦
 东西南瓜西葫芦
发布于 2015/06/12 17:54
字数 250
阅读 26
收藏 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
码字总数 7490
作品 0
临沂
程序员
私信 提问
布局技巧:使用 ViewStub

多亏了标签,在Android里,很容易就能做到共享和重用UI组件。在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少使用。针对这种情况,谢天谢地,And...

鉴客
2011/09/26
712
0
android点滴7:adb不是内部或外部命令,也不是可运行的程序或批量文件

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

独鸣在彼岸
2012/05/11
0
0
android include merge标签

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

卐字旗下的余晖
2014/05/28
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)几个可能有用的习惯

1. 为了便于调试,所有类都定义TAG。并在所有方法(或者关键步骤开始)进行日志的记录。 2. Activity中,很多控件都有click等事件,每一个控件都去注册显得代码比较乱。可以让Activity实现O...

黑狗
2013/03/28
864
4

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
6
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
6
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
4
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部