亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PreferenceFragmentCompat 內的 TimePicker

PreferenceFragmentCompat 內的 TimePicker

交互式愛情 2023-03-23 14:19:10
我正在使用 PreferenceFragmentCompat 做一個應用程序,我需要向我的首選項添加一個選項 TimePicker,但是當我單擊此選項時我的應用程序崩潰了。這是我的代碼:時間偏好:import android.app.Dialog;import android.app.TimePickerDialog;import android.os.Bundle;import android.text.format.DateFormat;import androidx.annotation.NonNull;import androidx.fragment.app.DialogFragment;import java.util.Calendar;public class TimePreference extends DialogFragment {    @NonNull    @Override    public Dialog onCreateDialog(Bundle savedInstanceState) {        Calendar c = Calendar.getInstance();        int hour = c.get(Calendar.HOUR_OF_DAY);        int minute = c.get(Calendar.MINUTE);        return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));    }}設置片段:import android.os.Bundle;import androidx.fragment.app.DialogFragment;import androidx.preference.Preference;import androidx.preference.PreferenceFragmentCompat;import com.sstu.studentcalendar.R;import com.sstu.studentcalendar.Service.TimePreference;public class SettingsFragment extends PreferenceFragmentCompat{    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        addPreferencesFromResource(R.xml.prefs);        Preference preference = (Preference)getPreferenceManager().findPreference("timeset");        if (preference != null) {            preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {                @Override                public boolean onPreferenceClick(Preference arg0) {                    DialogFragment timePicker = new TimePreference();                    timePicker.show(getFragmentManager(), "time picker");                    return true;                }            });        }    }    @Override    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {    }}我究竟做錯了什么?有什么簡單的方法可以從 PreferenceFragment 顯示時間選擇器嗎?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您需要擴展 DialogPreference 以獲得托管對話框的首選項,以及 DialogPreferenceFragmentCompat,以創建包含時間選擇器的對話框 - 我建議閱讀這篇中篇文章- 它詳細介紹了設置時間選擇器對話框。



查看完整回答
反對 回復 2023-03-23
  • 1 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號