先附上下载和效果展示地址 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);
  }
   
  }

 

 

相关文章: