2011-09-11 5 views
2

はXMLファイルに表示されます(スライダが機能します)。しかし、OKボタンをクリックすると値が消えてしまったようです。SeekBarPreferenceはその値を維持していないようです

これはprefs.getInt("NOTE_MINIMUM", -11);

を使用して、未知のフィールドとして戻ってくる NOTE_MINIMUMフィールド、私は私のコードで COLOR_CODINGフィールドの値を取得することができます...

<?xml version="1.0" encoding="UTF-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
    <SeekBarPreference android:key="NOTE_MINIMUM" 
     android:summary="Set the lowest note in the playback sound" 
     android:max="125" 
     android:title="Lowest note" 
     android:persistent="true" 
     android:defaultValue="25" /> 

    <CheckBoxPreference android:key="COLOR_CODING" 
     android:title="Show playback progress bar" 
     android:summary="string/color_coding_summary" 
     android:defaultValue="true" /> 
</PreferenceScreen> 

私のXMLファイルではなく、

しかし、問題は設定ダイアログにあると思います。 COLOR_CODINGボックスを確認して閉じると、PreferencesScreenが開いても状態は続きます。 NOTE_MINIMUMダイアログのスライダを動かし(そしてOKをクリック)、アプリケーションのクローズド・リープを実行すると、アプリケーションの初期化時と同じようにスライダが表示され、スライダはトラックの先頭に表示されます。

誰でもこの問題を手伝ってください。

答えて

0

回答しました。私が作成した最後に

はSeekBarPreferenceコード(およびカット誰かのを貼り付け)し、それよりもむしろ、APIクラスと呼ばれる私のアプリのAMDでクラスにそれを作りました。

しかし、これは回避策としてあまり答えはありません。

私はまだアンドロイドのSeekBarPreferenceを理解していませんが、アンドロイドのCheckBoxPreferenceと同じ方法で結果を保存しません(追加のアプリケーションコードリスナーで状態を取得する必要はありません)。

私はこのロールがあなた自身のコードを他の誰かが使用する方法であるように見せているので、もう1つの答えを見ることに興味があります。