2012-12-28 12 views
5

に切り替えたとき、私は好みのレイアウトファイル用のGUIには、XMLから切り替えたときに、私は次のエラーを取得する:レンダリング中に発生したEclipseのAndroidのエラーGUIのXML

例外:com.android.layoutlib.bridge.MockViewをキャストすることはできません(ビルドパスの修正、XMLの編集) - PreferenceScreen(ビルドパスの修正、XMLの編集) 次のクラスが見つかりませんでした: - 例外の詳細がウィンドウに表示されています。

xmlファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <PreferenceCategory 
    android:title="Activation"> 
    <CheckBoxPreference 
     android:title="Title1" 
     android:defaultValue="false" 
     android:key="checkbox1"> 
    </CheckBoxPreference> 
    </PreferenceCategory> 

    <PreferenceCategory 
    android:title="Option1"> 
    <PreferenceScreen 
     android:title="Set Option"> 
    <CheckBoxPreference 
     android:title="ENABLE OPTION" 
     android:defaultValue="false" 
     android:summary="text" 
     android:key="checkboxOption1"> 
    </CheckBoxPreference> 
    <CheckBoxPreference 
     android:title="DISPLAY OPTIONS" 
     android:defaultValue="false" 
     android:summary="text" 
     android:key="checkboxDisplay1"> 
    </CheckBoxPreference> 
    <EditTextPreference 
     android:title="OPTION2" 
     android:name="Option2" 
     android:summary="text" 
     android:defaultValue="1" 
     android:key="editOption2"> 
    </EditTextPreference> 
    <CheckBoxPreference 
     android:title="OPTION3" 
     android:defaultValue="false" 
     android:summary="text" 
     android:key="checkboxOption3"> 
    </CheckBoxPreference> 
    </PreferenceScreen> 
    </PreferenceCategory> 

    <PreferenceCategory 
    android:title="Option4"> 
    <PreferenceScreen 
     android:title="Set Option4"> 
    <CheckBoxPreference 
     android:title="OPTION4" 
     android:defaultValue="false" 
     android:summary="" 
     android:key="checkboxOption4"> 
    </CheckBoxPreference> 
    <CheckBoxPreference 
     android:title="OPTION5" 
     android:defaultValue="false" 
     android:summary="text" 
     android:key="checkboxOption5"> 
    </CheckBoxPreference> 
    <EditTextPreference 
     android:title="OPTION6" 
     android:name="Option6" 
     android:summary="text" 
     android:defaultValue="1" 
     android:key="editOption6"> 
    </EditTextPreference> 
    <EditTextPreference 
     android:title="OPTION7" 
     android:name="Option7" 
     android:summary="text" 
     android:defaultValue="1" 
     android:key="editOption7"> 
    </EditTextPreference> 
    <EditTextPreference 
     android:title="OPTION8" 
     android:name="Option8" 
     android:summary="text" 
     android:defaultValue="1" 
     android:key="editOption8"> 
    </EditTextPreference> 
    </PreferenceScreen> 
    </PreferenceCategory> 

    <PreferenceCategory 
    android:title="OPTION9"> 
    <PreferenceScreen 
     android:title="Option9"> 
    <EditTextPreference 
     android:title="Option9" 
     android:name="Option9" 
     android:summary="text" 
     android:defaultValue="" 
     android:key="editOption9"> 
    </EditTextPreference> 
    </PreferenceScreen>  
    </PreferenceCategory> 

</PreferenceScreen> 

はどのような援助が大幅に

+0

私は全く同じ問題があります。 –

答えて

4

をいただければ幸い私は、通常の活動のような優先リストをあしらったので、私はこの問題を抱えていました。それは実際にはまったく異なっています。まず、XMLファイルをres/layoutからres/xmlに移動する必要があります(Eclipseでは、このフォルダを手動で作成する必要があります)。また、別のJavaコードを使用する必要があります。

import android.os.Bundle; 
import android.preference.PreferenceActivity; 

public class Settings extends PreferenceActivity { //NOT activity! 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Initialize the preference screen defined in /res/xml/preference.xml 
     addPreferencesFromResource(R.xml.preferences); //NOT setContentView 
    } 

} 

あなたはaddPreferencesFromResourceは廃止されている程度APIレベル> = 11の警告を取得します。これは、Androidではフラグメント(「PreferenceFragments」)に基づいて設定画面に切り替える必要があるからです。これはかなり複雑です。例はhereです。

+0

ありがとうございます1 "チェックアウトします! – ctaylor

関連する問題