[问题] 系统自主更换特定Layout成其他元件?

楼主: y3k (激流を制するは静水)   2017-11-15 22:20:27
今天有同事遇到一个怪问题
一行把Activity.findViewById() cast成LinearLayout的code
在其他手机上跑都正常 但某Zenfone2上跑一次炸一次
我拿来看发现原来是该里面包了TextView的LinearLayout
不明原因被整个换成了TextViewCompact...啥小= =
上来调查一下 有人在其他机型或系统上有遇过类似问题吗
想知道是个案还是需注意的系统可能行为....
作者: siriusu (かがみは俺の嫁。)   2017-11-17 12:41:00
这是系统行为 文件有写 晚点找 ref 给你
楼主: y3k (激流を制するは静水)   2017-11-17 09:07:00
应该也没有 R不会这样冲到 后来查过应该真的是LayoutInflater的问题 至于跟v4.support.Fragment的关联后面找时间研究看看
作者: lnmlee   2017-11-16 03:13:00
听起来可能跟 import 套件有关
楼主: y3k (激流を制するは静水)   2017-11-16 09:09:00
看gradle好像也没有什么特别的 而且只有那台机子会这样 就表示不太可能是单纯code的问题 我怀疑是LayoutInflater被动了什么动作
作者: lnmlee   2017-11-16 21:48:00
这样内建许多系统App也会挂点 看程式码 import support v?不然就把xml 的 view id 换一下吧 搞不好冲到系统的id
楼主: y3k (激流を制するは静水)   2017-11-19 00:10:00
感谢楼上@@
作者: siriusu (かがみは俺の嫁。)   2017-12-01 21:55:00
完全忘记这件事…回家看记得不记得Oops sorry 我说的行为是 AppCompatTextViewhttps://goo.gl/BtxpKL This will automatically be usedwhen you use TextView in your layouts and the top-level activity / dialog is provided by appcompat.所以也许不是同一个问题

Links booklink

Contact Us: admin [ a t ] ucptt.com