zoukankan      html  css  js  c++  java
  • 时间和地域三级联动选择器(Android-PickerView-master)

    先附上下载和效果展示地址 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);
      setContentView(R.layout.activity_main);
      vMasker=findViewById(R.id.vMasker);
      tvTime=(TextView) findViewById(R.id.tvTime);
      tvOptions=(TextView) findViewById(R.id.tvOptions);
      //时间选择器
      pvTime = new TimePickerView(this, TimePickerView.Type.YEAR_MONTH_DAY);
      //控制时间范围
      // Calendar calendar = Calendar.getInstance();
      // pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR));
      pvTime.setTime(new Date());
      pvTime.setCyclic(false);
      pvTime.setCancelable(true);
      //时间选择后回调
      pvTime.setOnTimeSelectListener(new TimePickerView.OnTimeSelectListener() {
       
      @Override
      public void onTimeSelect(Date date) {
      tvTime.setText(getTime(date));
      }
      });
      //弹出时间选择器
      tvTime.setOnClickListener(new OnClickListener() {
       
      @Override
      public void onClick(View v) {
      pvTime.show();
      }
      });
       
      //选项选择器
      pvOptions = new OptionsPickerView(this);
       
      //选项1
      options1Items.add(new ProvinceBean(0,"广东","广东省,以岭南东道、广南东路得名","其他数据"));
      options1Items.add(new ProvinceBean(1,"湖南","湖南省地处中国中部、长江中游,因大部分区域处于洞庭湖以南而得名湖南","芒果TV"));
      options1Items.add(new ProvinceBean(3,"广西","嗯~~",""));
       
      //选项2
      ArrayList<String> options2Items_01=new ArrayList<String>();
      options2Items_01.add("广州");
      options2Items_01.add("佛山");
      options2Items_01.add("东莞");
      options2Items_01.add("阳江");
      options2Items_01.add("珠海");
      ArrayList<String> options2Items_02=new ArrayList<String>();
      options2Items_02.add("长沙");
      options2Items_02.add("岳阳");
      ArrayList<String> options2Items_03=new ArrayList<String>();
      options2Items_03.add("桂林");
      options2Items.add(options2Items_01);
      options2Items.add(options2Items_02);
      options2Items.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>();
      options3Items_01_01.add("白云");
      options3Items_01_01.add("天河");
      options3Items_01_01.add("海珠");
      options3Items_01_01.add("越秀");
      options3Items_01.add(options3Items_01_01);
      ArrayList<String> options3Items_01_02=new ArrayList<String>();
      options3Items_01_02.add("南海");
      options3Items_01_02.add("高明");
      options3Items_01_02.add("顺德");
      options3Items_01_02.add("禅城");
      options3Items_01.add(options3Items_01_02);
      ArrayList<String> options3Items_01_03=new ArrayList<String>();
      options3Items_01_03.add("其他");
      options3Items_01_03.add("常平");
      options3Items_01_03.add("虎门");
      options3Items_01.add(options3Items_01_03);
      ArrayList<String> options3Items_01_04=new ArrayList<String>();
      options3Items_01_04.add("其他1");
      options3Items_01_04.add("其他2");
      options3Items_01_04.add("其他3");
      options3Items_01.add(options3Items_01_04);
      ArrayList<String> options3Items_01_05=new ArrayList<String>();
      options3Items_01_05.add("其他1");
      options3Items_01_05.add("其他2");
      options3Items_01_05.add("其他3");
      options3Items_01.add(options3Items_01_05);
       
      ArrayList<String> options3Items_02_01=new ArrayList<String>();
      options3Items_02_01.add("长沙长沙长沙长沙长沙长沙长沙长沙长沙1111111111");
      options3Items_02_01.add("长沙2");
      options3Items_02_01.add("长沙3");
      options3Items_02_01.add("长沙4");
      options3Items_02_01.add("长沙5");
      options3Items_02_01.add("长沙6");
      options3Items_02_01.add("长沙7");
      options3Items_02_01.add("长沙8");
      options3Items_02.add(options3Items_02_01);
      ArrayList<String> options3Items_02_02=new ArrayList<String>();
      options3Items_02_02.add("岳1");
      options3Items_02_02.add("岳2");
      options3Items_02_02.add("岳3");
      options3Items_02_02.add("岳4");
      options3Items_02_02.add("岳5");
      options3Items_02_02.add("岳6");
      options3Items_02_02.add("岳7");
      options3Items_02_02.add("岳8");
      options3Items_02_02.add("岳9");
      options3Items_02.add(options3Items_02_02);
      ArrayList<String> options3Items_03_01=new ArrayList<String>();
      options3Items_03_01.add("好山水");
      options3Items_03.add(options3Items_03_01);
       
      options3Items.add(options3Items_01);
      options3Items.add(options3Items_02);
      options3Items.add(options3Items_03);
       
      //三级联动效果
      pvOptions.setPicker(options1Items, options2Items, options3Items, true);
      //设置选择的三级单位
      // pwOptions.setLabels("省", "市", "区");
      pvOptions.setTitle("选择城市");
      pvOptions.setCyclic(false, true, true);
      //设置默认选中的三级项目
      //监听确定选择按钮
      pvOptions.setSelectOptions(1, 1, 1);
      pvOptions.setOnoptionsSelectListener(new OptionsPickerView.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);
      tvOptions.setText(tx);
      vMasker.setVisibility(View.GONE);
      }
      });
      //点击弹出选项选择器
      tvOptions.setOnClickListener(new View.OnClickListener() {
       
      @Override
      public void onClick(View v) {
      pvOptions.show();
      }
      });
      }
       
      public static String getTime(Date date) {
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //如果里面需要小时和分钟就带上HH:mm不需要就不用写
      return format.format(date);
      }
       
      }

     

     
    查看全文
  • 相关阅读:
    Spring_配置 Bean(2)
    Spring_HelloWorld
    搭建 Spring 开发环境
    MongoDB快速入门(十三)- 聚合count、distinct和group
    缓存技术,封装好的缓存类
    HTTP协议详解
    C# 缓存技术
    Web Service 的工作原理
    webview长按保存图片
    android Webview 实现js调用java代码实现Activity跳转
  • 原文地址:https://www.cnblogs.com/niupi/p/5600432.html
  • 最新文章
  • 乐器
    27.编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。
    28.按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。
    29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
    30.编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
    25.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 两个属性:矩形的宽width;矩形的高height。 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和height属性初化; 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 求矩形面积的方法area() 求矩形周长的方法perimeter() (2)通过继承Rect类编写一个具有
    23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。 具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址address(String类型), 电话号码telphone(String类型)和电子邮件地址email(String类型); (2)Employee类中的属性有:办公室office(Stri
    24.编写一个Car类,具有String类型的属性品牌,具有功能drive; 定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速; 定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特 性。
    设计模式
    log4j.properties配置
  • 热门文章
  • 05章项目: QuickHit快速击键
    适配器模式
    java.单例模式
    多态、接口
    继承
    第一个Java应用
    01章 面向对象开发方法概述
    学生管理系统<分层开发>
    ComboBox的数据联动
    Spring_属性配置细节
Copyright © 2011-2022 走看看