[問題] 系統自主更換特定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