setClickable(false)问题处理

在项目中遇到一个小问题 就是 设置btn的 点击不可以 setClickable(false)  结果发现还是有问题

查了半小时代码之后

才发现 是顺序问题

如果先设置点击监听setOnClickListener() 在设置这个 setClickable(false)  就可以

先设置 setClickable(false)

再设置监听setOnClickListener() 就没用

深究以下 看了下源码

发现源码有这么一句

if (!isClickable()) {
           setClickable(true);
}

  充分说明了 setClickable(false)方法一定要在setOnClickListener()方法之后调用才有效果

时间: 2024-10-18 21:54:50

setClickable(false)问题处理的相关文章

button-xml 中android:clickable="false" 属性

今天在做项目的时候,遇到了一个问题,就是需要把一个常按监听事件,加到一个linearlayout中,但是,这个linearlayout中有其他的button.textview等控件,这样就导致当我们常按textview的时候,触发的是textview等子控件的常按事件.今天我们讨论的并不是如何解决这个问题,而是在解决这个问题的过程中,我遇到的android:clickable 跟 android:longClickable 这两个xml属性. 先看这两个属性在xml中的用法 <Button an

Android-配置文件中设置“android:clickable=&quot;false&quot;无效的原因及解决办法

开发中遇到的问题:要实现一个button初始为不可点击,于是在配置文件中设置了android:clickable="false"运行后发现还是可以点击,于是写在了Activity中:btn.setClickable(false);发现还是可以点击,在网上查资料说android setClickable 一定要放在 按扭的setOnClickListener事件之后! 因为setOnClickListener事件会去重写View v,也就是会把setClickable设为TRUE! 所以

【FastDev4Android框架开发】实例解析之SwipeRefreshLayout+RecyclerView+CardView(三十五)

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50087873 本文出自:[江清清的博客] (一).前言: 作为Android L开始,Google更新了新控件RecyclerView和CardView,这两个控件在之前的文章中已经做了详细介绍和使用,同时在前面还对下拉刷新组件SwipeRefreshLayout进行相关讲解.本来该专题不在更新了,正好昨天有一个群友问到了怎么样结合SwipeRefreshLayou

数字增加项目总结

1.AndroidManifest.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.administrator.testapp"> 4 5 <application 6

Android 防止多次点击事件

恐怕大家都会遇到这样的问题,一个点击事件多次触发,导致,同样的内容提交了多次,或者说弹出多个页面... 下面是简单的方案,大家可以试一试 原理很简单,当我们第一次点击的时候,把按钮变成不可点击状态. 然后设置 5s 的定时器来恢复点击事件. public static void disabledView(final View v) { v.setClickable(false); // 延迟5秒,恢复点击事件 new Handler().postDelayed(new Runnable() {

原创Android游戏--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用

--------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添加的功能,以及一些可改进的地方,于是准备继续完善此游戏,顺便学Android了. 本次更新信息如下: 1.改正了随机数生成算法,更正了不能产生数字'9'的bug 2.增加了数据存储与IO的内容,使用了SharedPreferences保存数据 3.保存数据为: 总盘数,猜中的盘数 4.使用了Simp

Android App中使用Gallery制作幻灯片播放效果

http://www.jb51.net/article/83313.htm 我们有时候在iPhone手机上或者Windows上面看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据你的点击或者触摸触发其他事件响应.同样的,在Android中也提供这这种实现,这就是通过Gallery在UI上实现缩略图浏览器. 我们来看看Gallery是如何来实现的,先把控件从布局文件中声明,只需知道ID为gallery. ? 1 Gallery gallery = (Gallery

QTableWidget详解(样式、右键菜单、表头塌陷、多选等)

在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚.所以,今天就在这里总结一下! 以下为个人模拟Windows资源管理器的一个表单 一.设置表单样式 table_widget->setColumnCount(4);//设置列数 table_widget->horizontalHeader()->setDefaultSectionSize(150); table_widget->horizo

【转】Android BroadcastReceiver介绍

本文主要介绍BroadcastReceiver的概念.使用.生命周期.安全性.分类.特殊的BroadcastReceiver(本地.粘性.有序.粘性有序广播).示例代码见BroadcastReceiverDemo,示例APK见:TrineaAndroidDemo.apk. 1.概念介绍及两种注册方式的区别 BroadcastReceiver作为Android四大组件之一,不像Activity,没有可显示的界面.BroadcastReceiver包括两个概念,广播发送者和广播接收者(Receive