在软件开发中我们会需要各种选择器,比如设置年龄时需要使用时间选择器。设置地址需要用到地址选择,还有身高等等。
下面介绍一下使用方法:
-
时间选择器的使用:
//这里设置的是选择之后可以回显数据,所以先创建一个SP设置基本数值 String string = getSharedPreferences("tag", MODE_PRIVATE).getString("date", "40#0#0"); String[] split = string.split("#"); String s = split[0]; String s1 = split[1]; String s2 = split[2]; //分割之后得到的并不是具体的时间,而是年,月,日的位置。 int i1 = Integer.parseInt(s); int i2 = Integer.parseInt(s1); int i3 = Integer.parseInt(s2); //这里直接创建 DatePickerDialog,同时把值传递给构造方法 DatePickerDialog.Builder builder=new DatePickerDialog.Builder(this,i1,i2,i3); //通过builder设置时间 DatePickerDialog dialog=builder.setOnDateSelectedListener(new DatePickerDialog.OnDateSelectedListener() { @Override public void onDateSelected(int[] dates) { Toast.makeText(getApplicationContext(), dates[0] + "#" + dates[1] + "#" + dates[2], Toast.LENGTH_SHORT).show(); } @Override public void setCurrentItem(int positionYear, int positionMonth, int positionDay) { //设置完成时间之后,保存数据。用于下次回显数据。 getSharedPreferences("tag",MODE_PRIVATE).edit().putString("date",positionYear+"#" +positionMonth+"#"+positionDay).commit(); } }).create(); //最后显示Dialog dialog.show();
-
设置省市联动的选择器:
RegionPickerDialog.Builder builder = new RegionPickerDialog.Builder(this); RegionPickerDialog dialog = builder.setOnRegionSelectedListener(new RegionPickerDialog.OnRegionSelectedListener() { @Override public void onRegionSelected(String[] cityAndArea) { Toast.makeText(getApplicationContext(), cityAndArea[0] + "#" + cityAndArea[1], Toast.LENGTH_SHORT).show(); } }).create(); dialog.show();