首頁 > 後端開發 > Python教學 > 分享一個解決Android 相容性問題的python方法

分享一個解決Android 相容性問題的python方法

Y2J
發布: 2017-05-16 11:46:19
原創
2085 人瀏覽過

這篇文章主要介紹了Android 相容性問題:java.lang.UnsupportedOperationException解決辦法的相關資料,需要的朋友可以參考下

在前幾天的開發中,遇到這麼個非常奇葩的異常,有些手機可以運行,有些手機卻直接崩了,今天就把這異常整理下。

首先還是貼上其異常信息

E/AndroidRuntime: FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #13: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at com.hy.taotao.utils.GlobalUtils.inflate(GlobalUtils.java:91)
at com.hy.taotao.base.BaseFragment.onCreateView(BaseFragment.java:59)
...

Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)?
...

Caused by: java.lang.UnsupportedOperationException: Can&#39;t convert to dimension: type=0x1
at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:468)
at android.widget.TextView.<init>(TextView.java:944)
at android.widget.TextView.<init>(TextView.java:605)
at java.lang.reflect.Constructor.constructNative(Native Method)?
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)?
at android.view.LayoutInflater.createView(LayoutInflater.java:587)?
...
登入後複製

上面我將主要的異常信息整理了出來,首先可以看看這一句,我們可以從上面得到的信息是“xml文件13行導致的錯誤,原因是dimension檔案找不到type=0x1的元素”,後來同事在網路上查了N多資料說的是values裡面少了預設值,後面終於找到了缺少的預設值…

1.首先看看報錯之前的資料夾截圖,可以看到在一部分values-v19的文件,在values上都看不到,而values-v19資料夾是Api19的裝置使用該目錄下的文件夾,當設備找不到對應的名為values-*的資料夾,就會去找預設的values資料夾下的文件,那麼找不到的話,就發生了上面的異常了。

分享一個解決Android 相容性問題的python方法

2.那麼知道了問題所在,就得解決了

1)將values-***全部備份後刪掉。

2)將備份後的values-***裡的檔案加入到預設的values資料夾。

3.其實在上述2中這種方式一般是不推薦的,如果手機螢幕適配的話,當然不能只保留values這個預設的資料夾,但是切記在其他values-* 資料夾的元素,在預設的values資料夾都必須得有。

4.下面是簡單處理之後的截圖

分享一個解決Android 相容性問題的python方法

#總結:

1.在做第三方整合等等情況的時候,切記:在其他values-*資料夾的元素,在預設的values資料夾都必須得有。

【相關推薦】

1. 特別推薦#:「php程式設計師工具箱」V0.1版本下載

2. Python免費影片教學

3. Python物件導向影片教學

以上是分享一個解決Android 相容性問題的python方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板