首页 > 解决方案 > 问:Android TimePicker.setIs24HourView 不起作用

问题描述

我用 TimePicker 编写了 PreferenceDialog。但是当我将此控件设置为 24 小时模式时,我得到了异常错误膨胀类。

public class TimePreference extends DialogPreference {
    
        private int hour = 0;
        private int minute = 0;
    
        private TimePicker timePicker;
    
    
      
        public TimePreference(Context ctxt, AttributeSet attrs) {
            super(ctxt, attrs);
            setDialogLayoutResource(R.layout.timedialog_preference);
            timePicker.setIs24HourView(true);
            setPositiveButtonText("Ok");
            setNegativeButtonText("Cancel");
        }
    }

你能帮助我吗?谢谢。

标签: androidtimepicker

解决方案


我解决了问题。代码:

公共类 TimeDialogPrefFragCompat 扩展 PreferenceDialogFragmentCompat {

private TimePicker timePicker;

@Override
protected void onBindDialogView(View view) {
    super.onBindDialogView(view);


    timePicker  = (TimePicker) view.findViewById(R.id.time_picker);
    timePicker.setIs24HourView(true);

    Calendar calendar = Calendar.getInstance();

    int h = calendar.get(Calendar.HOUR_OF_DAY);
    int m = calendar.get(Calendar.MINUTE);

    timePicker.setCurrentHour(h);
    timePicker.setCurrentMinute(m);
    }
}

}

需要写入 onBindDialogView 方法。


推荐阅读