问题场景

前几天写一个界面的时候,遇到一个非常奇葩的问题。app第一次安装的时候,这里针对用户第一次安装的时候,后来是不会出现这个问题了。我明明是对某个界面的一个textview赋值了,而且服务端也返回了值了,我都debug了,那一行代码是运行的,但是始终返回的都是null.我纳闷了半天,为啥呢? 我一直debug了好几遍啊,没错啊,什么原因啊。难道我今天撩妹了吗?不再帅了吗?我偷人家桌子零食遭报应了吗?不不,不会的。即使我真的干了缺德的事了,这个代码是没错啊。我后来继续看下面代码,发现这个textview在多个地方要被赋值,那么也就是说这个textview要在不同的场景获取值。我又发现这个值都是同一个,就是一个电话号码。那么为什么被多次赋值呢,这是因为从不同的入口进入这个页面的,获取值的方式也不一样。而我当时的场景是这样的: 我从A页面进入C页面,那个textview确实拿到值了,但是这个textview在下面又被赋值了,这个是B页面进入到C页面的,而B页面还没请求服务端呢,它的值当然是null了。那么问题来了:为什么不把这个电话号码拿到之后存起来放在sp或者sqlite3作为一个全局的值?因为第一次app启动的时候,有的用户有可能从a进入c,有的用户可能从b进入c,场景不一样,所以就两个地方都需要请求电话号码的值,我后来给后端的同学建议能不能把这个号码放在启动页面那个接口里,因为这个界面是最初始且是必然经过的页面。这样就后端不用到处存号码了,方便后来人维护代码,不然会好奇,为啥要多个地方返回电话号码呢?

一点思考

我后来仔细做出总结:一般会有两种情况导致的  1.该控件在多处被赋值,即使被赋有效值了,但是在其他地方被覆盖了。2.虽然有值了,但是可惜的是,给其他的控件赋值了,也就是控件的id搞错了,出现张冠李戴了。虽然问题很简单,但是的确要细心。这些是在下班的路上想的,晚上记录下,就当笔记吧。

奇葩问题-TextView无法获取值的更多相关文章

  1. CheckBox复选框全选以及获取值

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. 通过form表单获取值

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. jQuery 的三种获取值的方式

    本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法.jQuery中为我 ...

  4. 今个忽然晓得,原来radio不是普通去获取值的!

    今日,写js校验.对于不太会的,总是陌生的.碰见radio的取值,习惯的用document.getElementsByName("")[0].value去获取值,却忘记了radio ...

  5. easyUI validatebox设置值和获取值,以及属性和方法

    一:表单元素使用easyui时,textbox和validatebox设置值和获取值的方式不一样[转] 1.为text-box设置值只能使用id选择器选择表单元素,只能使用textbox(" ...

  6. easyui-textbox 和 easyui-validatebox 设置值和获取值

    表单作如下定义:该input使用easyui的"easyui-textbox" <input id="addSnumber" style="wi ...

  7. JavaScript经典代码【一】【javascript HTML控件获取值】

    javascript HTML控件获取值 1.下拉列表框选定值 ddlPageSize.options[ddlPageSize.selectedIndex].value ddlPageSize.opt ...

  8. 对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值

    对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值?请参阅下面的关键代码: <html> <head> & ...

  9. 基于jquery的表格动态创建,自动绑定,自动获取值

    最近刚加入GUT项目,学习了很多其他同事写的代码,感觉受益匪浅. 在GUT项目中,经常会碰到这样一个问题:动态生成表格,包括从数据库中读取数据,并绑定在表格中,以及从在页面上通过jQuery新增删除表 ...

随机推荐

  1. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  2. AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager

    让我们的APP像艺术品一样优雅,开发工程师更像是一名匠人,不仅需要精湛的技艺,而且要有一颗匠心. 前言 AFNetworkActivityIndicatorManager 是对状态栏中网络激活那个小控 ...

  3. AFNetworking 3.0 源码解读(七)之 AFAutoPurgingImageCache

    这篇我们就要介绍AFAutoPurgingImageCache这个类了.这个类给了我们临时管理图片内存的能力. 前言 假如说我们要写一个通用的网络框架,除了必备的请求数据的方法外,必须提供一个下载器来 ...

  4. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  5. iOS架构一个中型普通App的一些经验总结

    这一版比较完善的的App终于提交审核了.有时间写写自己的一些经验的总结了.自己主导的从0到比较成型的app到目前来说也只有两个,但是其中的很多东西都是大同小异.基本上是想到了什么就写什么,感觉写的不到 ...

  6. NodeJs支付宝移动支付签名及验签

    非常感谢 :http://www.jianshu.com/p/8513e995ff3a?utm_campaign=hugo&utm_medium=reader_share&utm_co ...

  7. centos7 安装时候检测不到空余硬盘的解决办法

    我是用U盘装的centos,在进行硬盘规划时,看到硬盘的可用空间太少 这是因为我的硬盘以前装的是windows系统,硬盘几乎都已经被windows 操作系统给使用了,剩余空间也只会是windows用剩 ...

  8. FineReport:任意时刻只允许在一个客户端登陆账号的插件

    在使用FineReport报表系统中,处于账户安全考虑,有些企业希望同一账号在任意时刻智能在统一客户端登录.那么当A用户在C1客户端登陆后,该账号又在另外一个C2客户端登陆,服务器如何取判断呢? 开发 ...

  9. python之类介绍

    python对象销毁(垃圾回收): 1>同Java语言一样,python使用了引用计数这一简单计数来追踪内存中的对象,也就是说,python内部记录着所有使用中的对象各有多少引用,一个内部跟踪变 ...

  10. JAVA通信系列二:mina入门总结

    一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http:/ ...