先附上下载和效果展示地址 https://github.com/saiwu-bigkoo/Android-PickerView
之后说一下程序依赖后会遇到的问题Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.
解决办法在Project下的build.gradle中添加两句
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0"
之后附上一下使用代码
| package com.bigkoo.pickerviewdemo; | |
| import java.text.SimpleDateFormat; | |
| import java.util.ArrayList; | |
| import java.util.Calendar; | |
| import java.util.Date; | |
| import android.app.Activity; | |
| import android.os.Bundle; | |
| import android.view.View; | |
| import android.view.View.OnClickListener; | |
| import android.widget.TextView; | |
| import com.bigkoo.pickerview.OptionsPickerView; | |
| import com.bigkoo.pickerview.TimePickerView; | |
| import com.bigkoo.pickerviewdemo.bean.ProvinceBean; | |
| public class MainActivity extends Activity { | |
| private ArrayList<ProvinceBean> options1Items = new ArrayList<ProvinceBean>(); | |
| private ArrayList<ArrayList<String>> options2Items = new ArrayList<ArrayList<String>>(); | |
| private ArrayList<ArrayList<ArrayList<String>>> options3Items = new ArrayList<ArrayList<ArrayList<String>>>(); | |
| private TextView tvTime, tvOptions; | |
| TimePickerView pvTime; | |
| OptionsPickerView pvOptions; | |
| View vMasker; | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| .activity_main); | |
| .vMasker); | |
| .tvTime); | |
| .tvOptions); | |
| //时间选择器 | |
| .YEAR_MONTH_DAY); | |
| //控制时间范围 | |
| // Calendar calendar = Calendar.getInstance(); | |
| // pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR)); | |
| Date()); | |
| false); | |
| true); | |
| //时间选择后回调 | |
| OnTimeSelectListener() { | |
| @Override | |
| public void onTimeSelect(Date date) { | |
| .setText(getTime(date)); | |
| } | |
| }); | |
| //弹出时间选择器 | |
| OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| .show(); | |
| } | |
| }); | |
| //选项选择器 | |
| this); | |
| //选项1 | |
| )); | |
| )); | |
| )); | |
| //选项2 | |
| ArrayList<String> options2Items_01=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ArrayList<String> options2Items_02=new ArrayList<String>(); | |
| ); | |
| ); | |
| ArrayList<String> options2Items_03=new ArrayList<String>(); | |
| ); | |
| .add(options2Items_01); | |
| .add(options2Items_02); | |
| .add(options2Items_03); | |
| //选项3 | |
| ArrayList<ArrayList<String>> options3Items_01 = new ArrayList<ArrayList<String>>(); | |
| ArrayList<ArrayList<String>> options3Items_02 = new ArrayList<ArrayList<String>>(); | |
| ArrayList<ArrayList<String>> options3Items_03 = new ArrayList<ArrayList<String>>(); | |
| ArrayList<String> options3Items_01_01=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_01_01); | |
| ArrayList<String> options3Items_01_02=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_01_02); | |
| ArrayList<String> options3Items_01_03=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_01_03); | |
| ArrayList<String> options3Items_01_04=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_01_04); | |
| ArrayList<String> options3Items_01_05=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_01_05); | |
| ArrayList<String> options3Items_02_01=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_02_01); | |
| ArrayList<String> options3Items_02_02=new ArrayList<String>(); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| ); | |
| .add(options3Items_02_02); | |
| ArrayList<String> options3Items_03_01=new ArrayList<String>(); | |
| ); | |
| .add(options3Items_03_01); | |
| .add(options3Items_01); | |
| .add(options3Items_02); | |
| .add(options3Items_03); | |
| //三级联动效果 | |
| true); | |
| //设置选择的三级单位 | |
| ); | |
| true); | |
| //设置默认选中的三级项目 | |
| //监听确定选择按钮 | |
| 1); | |
| OnOptionsSelectListener() { | |
| @Override | |
| public void onOptionsSelect(int options1, int option2, int options3) { | |
| //返回的分别是三个级别的选中位置 | |
| String tx = options1Items.get(options1).getPickerViewText() | |
| + options2Items.get(options1).get(option2) | |
| + options3Items.get(options1).get(option2).get(options3); | |
| .setText(tx); | |
| .GONE); | |
| } | |
| }); | |
| //点击弹出选项选择器 | |
| OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| .show(); | |
| } | |
| }); | |
| } | |
| public static String getTime(Date date) { | |
| SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //如果里面需要小时和分钟就带上HH:mm不需要就不用写 | |
| return format.format(date); | |
| } | |
| } |