2016-06-22 1 views
0

私は、このコマンドでアンドロイド好みの画面inconvertibleタイプ

 PreferenceScreen screen= (PreferenceScreen)getPreferenceScreen().findPreference(KEY); 

をpreferenceScreenを作成しようとしていますし、エラーメッセージは次のとおりです。「inconvertibleタイプは、android.preferenceにandroid.support.v7.preference.Preferenceをキャストすることはできません.preferenceScreen "

修正方法はありますか?ありがとう!

更新:これは私が今、最後の行「addPreferenceは」

答えて

0

findPreference戻りandroid.support.v7.preference.PreferenceなくPreferenceScreen私にエラーを与える

 ArrayList<String> cmds = new ArrayList<String>() {{ 
     add("A"); 
     add("B"); 
     add("C"); 
    }}; 
    for (String cmd : cmds) { 
    CheckBoxPreference cpref = new CheckBoxPreference(getActivity().getApplicationContext()); 
     cpref.setTitle(cmd); 
     cpref.setKey("The Name"); 
     cpref.setChecked(true); 
     cmdScr.addPreference(cpref); 
    } 

を書いたテストコードの一部です。何をする必要がこれです:

Preferenceは、サポートライブラリから1としてインポートされ
Preference screen = (Preference) getPreferenceManager().findPreference(KEY); 

:ちょうどあなたがやっているものを見るためにthis linkを訪問し、編集した質問に答えるために

import android.support.v7.preference.Preference; 

違う。カテゴリを画面に追加し、そのカテゴリに優先度を追加します。

+0

こんにちは@Vuckoあなたの返信に感謝します。どのように私はサポートライブラリからの1つとして、私は持っている "スクリーン"がpreferenceScreenているように環境設定をインポートするのですか? – Deidara

+0

'PreferenceActivity'を拡張しているなら、' getPreferenceScreen() 'の代わりに' getPreferenceManager() 'を使うことができます。 – Vucko

+0

私はPreferenceFragmentCompatを拡張しています。私は新しくアンドロイドになっています。ありがとう。 – Deidara

関連する問題