首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从一个timePickerDialog中两次获取小时和分钟作为开始时间和结束时间

timePickerDialog是一个Android提供的时间选择器对话框,用户可以通过它选择特定的小时和分钟。如果我们需要从timePickerDialog中获取两次选择的小时和分钟作为开始时间和结束时间,可以按照以下步骤进行:

  1. 创建一个timePickerDialog对象,并设置好相关属性,如起始时间、时间格式等。
  2. 实现OnTimeSetListener接口,该接口中的onTimeSet()方法将会在用户选择完时间后被调用。
  3. 在onTimeSet()方法中,根据用户选择的时间,获取选择的小时和分钟,并分别保存为开始时间和结束时间。

下面是一个示例代码:

代码语言:txt
复制
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

    private TextView startTimeTextView;
    private TextView endTimeTextView;
    private Button selectTimeButton;

    private int startHour, startMinute;
    private int endHour, endMinute;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startTimeTextView = findViewById(R.id.start_time_textview);
        endTimeTextView = findViewById(R.id.end_time_textview);
        selectTimeButton = findViewById(R.id.select_time_button);

        selectTimeButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 获取当前时间
                Calendar calendar = Calendar.getInstance();
                int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
                int currentMinute = calendar.get(Calendar.MINUTE);

                TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        // 第一次选择的时间作为开始时间
                        startHour = hourOfDay;
                        startMinute = minute;
                        startTimeTextView.setText(String.format("%02d:%02d", startHour, startMinute));

                        // 弹出第二个timePickerDialog选择结束时间
                        showEndTimePickerDialog();
                    }
                }, currentHour, currentMinute, true);

                timePickerDialog.show();
            }
        });
    }

    private void showEndTimePickerDialog() {
        // 获取当前时间
        Calendar calendar = Calendar.getInstance();
        int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
        int currentMinute = calendar.get(Calendar.MINUTE);

        TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                // 第二次选择的时间作为结束时间
                endHour = hourOfDay;
                endMinute = minute;
                endTimeTextView.setText(String.format("%02d:%02d", endHour, endMinute));
            }
        }, currentHour, currentMinute, true);

        timePickerDialog.show();
    }
}

这段代码创建了一个MainActivity,其中包含两个TextView用于显示选择的开始时间和结束时间,以及一个Button用于触发时间选择器对话框。点击按钮后,首先弹出一个timePickerDialog用于选择开始时间,选择完后再弹出另一个timePickerDialog用于选择结束时间。

注意:以上代码只是一个示例,你需要根据具体的需求进行相应的修改和适配。

对于timePickerDialog的详细使用方式和相关参数,你可以参考Android官方文档

对于与时间相关的处理,腾讯云提供了一些相关产品,如云函数(SCF)用于事件驱动的后端代码运行、云数据库(CDB)用于存储和管理数据等。你可以根据具体业务需求选择适合的腾讯云产品。详细的腾讯云产品介绍和相关链接可以在腾讯云官网中查找。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券