私はPreferenceScreenその設定の3つがどこにありTimePreferencesます。TimePreferenceは を拡張するカスタム クラスDialogPreferenceであり、TimePicker. THIS CODEに従って作成しました。
今、私は入力を制限したいと思いTimePickerます。それぞれTimePreferenceに特定の時間制限が必要です (この制限は ごとに異なりますTimePreference)。この制限を使用して入力値をチェックします。TimePreferenceつまり、最初の時間は 1 時間未満、2 回目は 5 時間以内、最後の時間は無制限にしたい場合があります。
3 つの異なるクラスを持つことを避けたかったので、データを設定に送信する方法を探していました。defaultValue を使用しようとしましたが、ユーザーが既に値を選択している場合は null です。
私の PreferenceActivity はPreferenceFragment. これは彼らのコードです:
public class PrefsActivity extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content,
new PrefsFragment()).commit();
}
}
public class PrefsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs_tod);
}
}
このデータをプリファレンスに送信できますか? それとも、3つの異なるクラスが必要ですか?
ありがとう!