项目中可能需要用户设置他的个人信息其中就包括出生年月日的选择,首先定义一个TextView,点击它显示三级联动的选择器,然后点击确定按钮执行特定操作。onClick的点击事件:
case R.id.tv_my_birth:
selectDate();
selectDate方法:
/**
* 三级联动修改出生年月
* 可能StringBuilder取名sb不太好看
* @return
*/
private String[] selectDate() {
final String[] str = new String[10];
ChangeDatePopwindow mChangeBirthDialog = new ChangeDatePopwindow(
this);
mChangeBirthDialog.setDate("2017", "1", "1");
mChangeBirthDialog.showAtLocation(tv_my_birthday, Gravity.BOTTOM, 0, 0);
mChangeBirthDialog.setBirthdayListener(new ChangeDatePopwindow.OnBirthListener() {
@Override
public void onClick(String year, String month, String day) {
// TODO Auto-generated method stub
Toast.makeText(MyInformationActivity.this, year + "-" + month + "-" + day, Toast.LENGTH_LONG).show();
StringBuilder sb = new StringBuilder();
sb.append(year.substring(0, year.length() - 1)).append("-").append(month.substring(0, day.length() - 1)).append("-").append(day);
str[0] = year + "-" + month + "-" + day;
str[1] = sb.toString();
tv_my_birthday.setText(year + "-" + month + "-" + day);
}
});
return str;
}
确认,取消的代码在下面的链接资源中.挺多文件的就压缩起来了,效果如图:
这是正在选择界面,点击确定选择时间并显示到TextView上,效果如图:
因为其中的文件有点多所以将其放入到链接中下载,文件包括
ChangeDatePopwindow.java和wheelview文件夹
点击链接下载完整资源