pickerView

PickerView

在这里插入图片描述
在这里插入图片描述

依赖

compile ‘com.contrarywind:Android-PickerView:4.1.9’

官网

https://github.com/Bigkoo/Android-PickerView

详细代码

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.timePicker)
    public Button timerPicker;

    @BindView(R.id.selectPicker)
    public Button selectPicker;

    private List<String> options1;
    private List<Bean> beans;

    List<String> shengName;
    List<List<String>> citys;
    List<List<List<String>>> areas;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);
        init();
    }

    @OnClick({R.id.timePicker,R.id.selectPicker})
    public void showPicker(View view){
        switch (view.getId()){
            case R.id.timePicker:
                showTimerPicker();
                break;
            case R.id.selectPicker:
                showOptionsPicker();
                break;
        }
    }

    public void showTimerPicker(){
        Log.d("amy", "showTimerPicker: ");
        TimePickerView pickerView = new TimePickerBuilder(this, new OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                Toast.makeText(MainActivity.this, "显示时间", Toast.LENGTH_SHORT).show();
            }
        })
                .setType(new boolean[]{true, true, true, true, true, true})// 默认全部显示
                .setCancelText("Cancel")//取消按钮文字
                .setSubmitText("Sure")//确认按钮文字
                .build();

        pickerView.show();
    }

    public void showOptionsPicker(){
        OptionsPickerView<String> pickerView = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                Log.d("amy", "onOptionsSelect: "+options1+"-"+options2+"-"+options3);
            }
        })
                .isDialog(true)
                .build();
        pickerView.setPicker(shengName,citys,areas);
        pickerView.show();
    }

    /**
     * 初始化数据
     */
    public void init(){

        Gson gson = new Gson();
        beans = gson.fromJson(readJson(),new TypeToken<List<Bean>>(){}.getType());
        shengName = new ArrayList<>();
        citys = new ArrayList<>();
        areas = new ArrayList<>();

       for(Bean bean:beans){
           shengName.add(bean.getName());

           List<String> city = new ArrayList<>();
           List<List<String>> area = new ArrayList<>();

           for(Bean.CityBean cityBean : bean.getCity()){

               city.add(cityBean.getName());
               area.add(cityBean.getArea());
           }
           citys.add(city);
           areas.add(area);
       }
    }

    /**
     * 读取json文件
     * @return
     */
    public String readJson(){
        StringBuffer stringBuffer = new StringBuffer();
        try {
            InputStream inputStream = getAssets().open("province.json");
            byte[] bytes = new byte[1024];
            int len = 0;
            while ((len = inputStream.read(bytes)) != -1){
                stringBuffer.append(new String(bytes,0,len));
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuffer.toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值