この記事では主に 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'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)? ...
上記で主な例外情報を整理しました まず、上記から得られる情報は『lineによるエラーです。 XML ファイルの 13 の理由は、「ファイル内に type=0x1 の要素が見つかりません。」というディメンションです。その後、私の同僚がインターネットで詳細を調べ、値にデフォルト値が欠落していると言い、最終的にデフォルト値がありません...
1. まず、フォルダーのスクリーンショットで、values-v19 ファイルの一部が表示されていないことがわかります。フォルダーは、Api19 デバイスによって使用されるこのディレクトリ内のフォルダーです。デバイスは、values -* フォルダーという名前の対応するファイルを見つけられない場合、上記のデフォルト値フォルダー内のファイルを検索します。例外が発生します。
2. 問題がわかったら、それを解決する必要があります
1) すべての値-***をバックアップし、削除します。
2) バックアップした値-***内のファイルをデフォルト値フォルダーに追加します。
3. 実際、上記 2 のこの方法は一般的に推奨されません。携帯電話の画面が適応する場合は、値のデフォルトのフォルダーをそのまま維持することはできませんが、他の値 (*) フォルダーに要素を含めることを忘れないでください。 . デフォルト値フォルダー内にある必要があります。
4. 以下は簡単な処理後のスクリーンショットです
概要:
1. 他の値 - * のフォルダー要素に注意してください。 value フォルダーが存在する必要があります。
【関連推奨事項】
1. 特別な推奨事項: 「php Programmer Toolbox」V0.1 バージョンのダウンロード
以上がAndroid の互換性の問題を解決するための Python メソッドを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。