java - TimePicker.getHour() 和 TimePicker.getMinute() 返回当前小时和分钟

标签 java android timepicker

我正在制作一个提醒应用程序。它有一个 Activity ,您可以在其中看到警报和一个 float 操作按钮以添加新警报。从该按钮我的自定义对话框将打开以设置警报。它应该返回在 TimePicker 中选择的小时和分钟,但它返回当前的小时和分钟
这是类(class):

public class AlarmKurDialog extends AppCompatDialogFragment {

TimePicker timePicker;
SeekBar seekBar;
TextView bardakAdetiTxt;
Button alarmEkleBtn;

int quantity;
int hour;
int minute;

AlarmKurDialogListener listener;
public interface AlarmKurDialogListener{
    void alarmBilgisiGetir(int hour, int minute, int quantity);
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.dialog_alarm_kur, null);
    builder.setView(view);

    timePicker = view.findViewById(R.id.timePicker1);
    seekBar = view.findViewById(R.id.seekBar);
    bardakAdetiTxt = view.findViewById(R.id.txt_adet);
    alarmEkleBtn = view.findViewById(R.id.button);

    timePicker.setIs24HourView(true);

    if (Build.VERSION.SDK_INT >= 23 ) {
        // getHour and getMinute returns current hour and minute
        hour = timePicker.getHour();
        minute = timePicker.getMinute();
        Log.i("mert", "getHour:getMinute - " + hour + ":" + minute);
    }
    else {
        hour = timePicker.getCurrentHour();
        minute = timePicker.getCurrentMinute();
        Log.i("mert", "getCurrentHour:getCurrentMinute - " + hour + ":" + minute);
    }
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
            quantity = 1 + progress;
            bardakAdetiTxt.setText(String.valueOf(quantity));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {}

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {}
    });

    alarmEkleBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            listener.alarmBilgisiGetir(hour, minute, quantity);
            dismiss();
        }
    });
    return builder.create();
}

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    try{
        listener = (AlarmKurDialogListener) context;
    }catch (ClassCastException e){
        throw new ClassCastException(context.toString() + "AlarmKurDialogListener implement etmek gerekli");
    }
}}


enter image description here
我在这里做错了什么?

最佳答案

试试这个:

 alarmEkleBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            hour = timePicker.getHour();
            minute = timePicker.getMinute();

            listener.alarmBilgisiGetir(hour, minute, quantity);
            dismiss();
        }
    });

关于java - TimePicker.getHour() 和 TimePicker.getMinute() 返回当前小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56194324/

相关文章:

android - TimePicker Android 自定义小时

windows-phone-7 - WP7 本地化 DatePicker 控件表单标题

java - String - 获取指定子串后面的字符串

java - 如何将两个数组转换为一个映射<k,v>

java - 无法在另一台计算机上打开我的 jar 文件

Java:在迭代期间使用 'if' 而不是 while 循环的影响

android - 无法解析 : com. android.support :cardview-v7:26. 0.0 android

android - 在 Marshmallow 及以上版本中使用 SyncAdapter 进行同步的问题

java - 如何在Android Studio中编辑Fragment内容?

c# - UWP 中有小时、分钟和秒的时间控制吗?