2

SeekBarPreference表示される (そしてスライダーが動作する) XML ファイルに がありますが、ボタンをクリックするとOK、値が消えたように見えます。

これは私のXMLファイルです...

<?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>

コードでフィールドの値を取得できますが、COLOR_CODINGフィールドではなくNOTE_MINIMUM、不明なフィールドとして返されますprefs.getInt("NOTE_MINIMUM", -11);

しかし、問題は設定ダイアログにあると思います。チェックCOLOR_CODINGボックスをオンにして閉じてから開くとPreferencesScreen、その状態が持続します。ダイアログでスライダーを動かすNOTE_MINIMUM(そして をクリックOKする) と、アプリを閉じてから再度開くと、アプリが初期化されたときと同じように、スライダーがトラックの先頭に表示されます。

誰でもこの問題を手伝ってくれませんか。

4

1 に答える 1

0

答えた。

最後に、コードを作成 (誰かのSeekBarPreferenceコードをカット アンド ペースト) し、API クラスではなく、それを呼び出したアプリ amd 内のクラスにしました。

ただし、これは回避策としての答えではありません。

なぜAndroidなのかはまだわかりませんが、AndroidSeekBarPreferenceと同じ方法で結果を保存しませんCheckBoxPreference(状態をキャプチャするために追加のアプリコードリスナーは必要ありません)。

このロール独自のコードは、他の誰もが使用する方法であるように思われるため、別の回答を見てみたいと思います。

于 2011-09-12T16:03:53.583 に答える