阅读更多 DatePicker是Android的日期设置控件。DatePicker类的继承图如下:
java.lang.Object
   ↳android.view.View
   ↳android.view.ViewGroup
   ↳android.widget.FrameLayout
   ↳android.widget.DatePicker
android.widget.DatePicker继承了android.widget.FrameLayout框架布局类。DatePicker例子如图7-7所示,从左到右是年、月、日的设置,改变年月日都会触发OnDateChanged事件,当点击“按钮”可以获得当前设置的时间。
 


图7-7 DatePicker
请参考代码清单7-6,完整代码请参考chapter7_1工程中chapter7_DatePicker代码部分。
【代码清单7-6】
public class chapter7_DatePicker extends Activity {private TextView mDateDisplay;private DatePicker datePicker;private Calendar c;private Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.datepicker_layout);datePicker = (DatePicker) findViewById(R.id.datePicker);c = Calendar.getInstance();mDateDisplay = (TextView) findViewById(R.id.datetextview);datePicker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH),new DatePicker.OnDateChangedListener() {public void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {mDateDisplay.setText("[" + year + "-"+ (monthOfYear + 1) + "-" + dayOfMonth + "]"+ "[" + view.getYear() + "-"+ (view.getMonth() + 1) + "-"+ view.getDayOfMonth() + "]");}});button = (Button) findViewById(R.id.Button01);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {mDateDisplay.setText(String.valueOf(datePicker.getYear())+ " - " + String.valueOf(datePicker.getMonth() + 1)+ " - " + String.valueOf(datePicker.getDayOfMonth()));}});}}

Calendar.getInstance()会获得一个Calendar实例,这是一个日期实例,通过它的get(Calendar.YEAR)方法可以获得年,get(Calendar.MONTH)方法加1获得月, get(Calendar.DAY_OF_MONTH)方法获得日期。DataPicker控件的核心代码是init方法:
datePicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {…}
在init方法中初始化DataPicker和事件的处理。
DataPicker的布局文件请参考代码清单7-7,完整代码请参考chapter7_1工程中datepicker_layout.xml代码部分(chapter7_1/res/layout/datepicker_layout.xml)。
【代码清单7-7】
<?xml version="1.0" encoding="utf-8"?>

                                 出自《Android开发案例驱动教程》第七章
  • 大小: 10.7 KB
  • 查看图片附件

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. android上一些方法的区别和用法的注意事项
  5. android EditText设置不可写
  6. android 使用html5作布局文件: webview跟javascript交互
  7. android实现字体闪烁动画的方法
  8. android studio调试c/c++代码
  9. Android中dispatchDraw分析

随机推荐

  1. Android MTK Launcher3安装三方apk,应用图
  2. Android弹性动画三种实现方式
  3. Android studio使用lambda表达式
  4. Android(安卓)APP性能优化之 ---- APK瘦
  5. Android(安卓)中 加载Bitmap时,造成的Out
  6. View机制深入学习(一)
  7. 判断当前网络是否可用和调用系统设置wifi
  8. Android App 防止 后台服务 被杀掉
  9. Android中通过资源文件获取drawable的几
  10. Android View 的工作原理浅析