Bigkoo / Bigkoo/Android-PickerView

设置时间限制 setRangDate和当前选择是时间pvTime.setDate导致选中月份日期出错。

Open
#855 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
13.4k
Forks
3.4k
PR merge metrics
No merged PRs in 30d

Description

```
if (TextUtils.isEmpty(selectTime))
pvTime.setDate(Calendar.getInstance());//设置选中时间
else{
try {
Date date = getFormat().parse(selectTime);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
pvTime.setDate(calendar);
} catch (ParseException e) {
e.printStackTrace();
}
}
/* pvTime.show(); //show timePicker*/
pvTime.show(v);//弹出时间选择器,传递参数过去,回调的时候则可以绑定此view
```
```

pvTime = new TimePickerBuilder(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
selectTime = getTime(date);
Toast.makeText(MainActivity.this, selectTime, Toast.LENGTH_SHORT).show();
Log.i("pvTime", "onTimeSelect");

}
})
.setRangDate(Calendar.getInstance(),calendar)//设置时间范围限制
.setTimeSelectChangeListener(new OnTimeSelectChangeListener() {
@Override
public void onTimeSelectChanged(Date date) {
Log.i("pvTime", "onTimeSelectChanged");
}
})
.setType(new boolean[]{true, true, true, true, true, true})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("pvTime", "onCancelClickListener");
}
})
.setItemVisibleCount(5) //若设置偶数,实际值会加1(比如设置6,则最大可见条目为7)
.setLineSpacingMultiplier(2.0f)
.isAlphaGradient(true)
.build();
```

两个限制情况会导致选中时间当前月份的日期少掉一部分。
举个栗子:今天是2020-01-14 ,我选了2020-02-02的时间,下次设置选中时间显示dialog,2月份的时间14号之前的就不显了,显示的是1月份的。而且选中的时候也是从1号开始。也就是 14号代表1号,15号代表2号,这样的。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.