在我的活動,有兩種觀點:甲和乙。我使用數據綁定來控制其可見性。甲數據綁定錯誤發生在特定的Android裝置
觀
android:visibility="@{model.attr==1?View.GONE:View.VISIBLE}」
視圖B
android:visibility="@{model.attr!=1?View.VISIBLE:View.GONE}」
然後,我收拾了發佈 APK,跑它金利和道奇酷 Android設備,但是發現兩個視圖的可見性是相反的:A是不可見的,B是可見的。是的,不要驚訝,A和B邏輯是一樣的。
提示
不要來得太早得出結論,我讓使用數據綁定的一些錯誤。讓我來解釋一些更多細節:
這個問題只發生在上面兩個android設備上。
當我打包調試版本(例如,debug.apk)時,問題消失。
當我更改B的可見性聲明代碼爲
android:visibility="@{model.attr==1?View.GONE:View.VISIBLE}」
時,問題也消失了。
總之
金利和道奇酷出了問題,其他工作正常。
release.apk出錯,debug.apk工作正常。
android:visibility="@{model.attr!=1?View.VISIBLE:View.GONE}」
出錯,android:visibility="@{model.attr==1?View.GONE:View.VISIBLE}」
工作正常。
這個問題很奇怪,我試了幾天。有人遇到過這樣的問題嗎?任何建議將不勝感激。
你應該GI有些設備不接受XML的直接價值ve attr in model class。,在模型類中使用attr字段作爲布爾值,並檢查xml佈局@ {model.attr?View.GONE:View.VISIBLE} – Keerthivasan
我的第一個猜測是你有一個不同的佈局文件,是針對這些設備 - 也許是不同的密度桶,肖像與風景,屏幕尺寸等 –