zoukankan      html  css  js  c++  java
  • 关于TabActivity中的EditText只能填数据不能删数据的问题

    EditText内容不能被删除?

    1,436 views, Android, by iStar.

    不知道各位同学有没有碰到EditText内容不能删除(但是可以输入)的现象,我估计这种情况的重现率比较低,反正我在Google上没看到。但是几率这么小的情况昨天被我碰到了,整了将近两个小时才找出来问题所在,先上图,看一下这种情况的出现环境:

    et_cannot_delete

    上图是一个TabActivity,嵌入了四个子Activity,在上图中看到的那个Activity中有一个文本框,输入关键字可以进行查询。问题是输入文字后竟然不能修改、删除!

    然后是各种调试,近两个小时,整得人快崩溃了,好在最终还是发现了问题所在。真相是这样滴————

    我在上图的TabActivity中添加了一个按下返回键提醒是否退出的监听事件,使用的是booleandispatchKeyEvent(KeyEvent event),具体请参看《在TabActivity如何添加按键响应》。之前写的dispatchKeyEvent方法内容大致如下:

    请注意我的返回值,我直接就return true了。这要是常用的onKeyDown()方法是没有问题的,但是dispatchKeyEvent略有不同,请看官方的解释:

    Called to process key events. You can override this to intercept all key events before they are dispatched to the window. Be sure to call this implementation for key events that should be handled normally.

    dispatchKeyEvent会截获所有的按键事件,如果直接return而不调用super.dispatchKeyEvent(event),那么按键事件将被截断,而不执行系统默认的处理。知道了这一点,改起来就很快了,如下:

  • 相关阅读:
    并发编程bug的源头
    lambda表达式
    如何学习并发编程
    开篇词
    试述软件的概念和特点?软件复用的含义?构件包括哪些?
    软件生存周期及其模型是什么?
    一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。
    给你一个网站,你如何测试?
    你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
  • 原文地址:https://www.cnblogs.com/liubo68/p/3038139.html
Copyright © 2011-2022 走看看