android:最简单的方式实现自定义选择时间分钟间隔,非滚轮方式

原文地址:http://blog.csdn.net/intbird

目前项目只需要分钟的间隔,所以小时和月的间隔没有做,spiner有坑,做的不好,以后有空再重写一下;

解释参数

private int MAX_LIMITE_DAY = 30;//最大可选日期
private int EVERY_MININTES_SPCE= 10;//分钟间隙
private int MIN_MININTES_AFTER = 15;//当前时间到最近可用时间的间隔(最小时间段);

最小时间间隔的解释,

如果分钟间隙为1,最小间隔是1,那么就是自然分钟数1-59;


最小间隔15分钟 如果当前时间是10:00 那么最近一次可用的时间为 10:20,因为分钟每10分钟一个档,15分钟在第二档;

最小间隔15分钟 如果当前时间是10:40 那么最近一次可用的时间为 11:00;


最小间隔10分钟 如果当前世界是10:00,那么最近一次可用的时间为 11:10;10分钟一个档;

代码

package com.idonoo.shareCar.ui.commom.activitys;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.TimeZone;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import com.idonoo.frame.model.BookTimeRule;
import com.idonoo.shareCar.R;
import com.idonoo.shareCar.app.IntentExtra;
import com.idonoo.shareCar.uiframe.BaseActivity;

public class TimePickerActivity extends BaseActivity {

	private int MAX_LIMITE_DAY = 30;//最大可选日期
	private int EVERY_MININTES_SPCE= 10;//分钟间隙
	private int MIN_MININTES_AFTER = 15;//最小时间段
	
	
	private List<String> listDates = new ArrayList<String>(),
			listHours = new ArrayList<String>(),
			listMinuts = new ArrayList<String>();

	private Spinner spDate, spHour, spMinute;
	private ArrayAdapter<String> datesAdapter, hourAdapter, minuteAdapter;
	private TextView tvChooseTip;
	
	private Calendar calendar;
	private int currentYear;
	private int currentMonth;
	private int currentDay;
	private int currentHour;
	private int currentMinute;

	private boolean isAddNewHour = false,isOnlyHour=false;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_picker_time);
		initDefultBookTime();
		initUI();
		initData();
	}

	@Override
	protected void initUI() {
		super.initUI();
		TextView tvCacel = (TextView) findViewById(R.id.cacel);
		TextView tvSelect = (TextView) findViewById(R.id.select);
		tvCacel.setOnClickListener(viewListener);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值