java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {org.emphie.fod/org.emphie.fod.preferences}: android.view.InflateException: バイナリ XML ファイルの行 #7: クラス インクルードの膨張エラー
それをサポートするバージョンにスイッチ設定を含めようとしています。それ以外の場合はチェックボックス設定です。インクルードに関するドキュメントをまったく見つけることができなかったと言っても過言ではありませんが、私が見た例はすべてレイアウトに関するものであり、設定に関するものではありません。
一部の要素のみが異なる定義を必要とする場合に、すべての設定フラグメントを適切な API に対して完全に定義するように要求するのはクレイジーに思えます。
画面:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:enabled="true" android:fragment="org.emphie.fod.preferences$prefFrag1" >
<PreferenceCategory android:title="Preferences" >
<include android:key = "@+id/send_sms" xml="@xml/pref_send_sms" />
</PreferenceCategory>
</PreferenceScreen>
含まれる設定: res-v14:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<SwitchPreference
android:defaultValue="true"
android:disableDependentsState="false"
android:key="@+id/send_SMS"
android:summaryOff="Just generate insults"
android:summaryOn="Actually send the wanker insults"
android:switchTextOff="No"
android:switchTextOn="Yes"
android:title="Send SMS" />
</merge>
そしてres-v8で
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:defaultValue="true"
android:disableDependentsState="false"
android:key="@+id/send_SMS"
android:summaryOff="Just generate insults"
android:summaryOn="Actually send the wanker insults"
android:switchTextOff="No"
android:switchTextOn="Yes"
android:title="Send SMS" />
</merge>
適切な docco へのリンクと、google-fu のヒントを感謝して受け取りました。私は根本的に、構文的に、または愚かに間違ったことをしていますか?