• Android DatePickerDialog 只选择年月


    //对EditText注册OnTouch事件
    etSscxNssbDate.setOnTouchListener(selectDateTouchListener);
    //选择日期
        private OnTouchListener selectDateTouchListener = new OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction()==MotionEvent.ACTION_UP){
                    final Calendar cd=Calendar.getInstance();
                    Date date=new Date();
                    cd.setTime(date);
                    DatePickerDialog dp= new DatePickerDialog(getActivity(), new OnDateSetListener(){
                          public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) {
                              String dateStr = year+"-"+StrUtil.adjustMonthDay(monthOfYear+1);
                              
                              //当用户选择完年月之后,进行查询操作
                              if(PhoneInfo.isConnectInternet(getActivity())){
                                 etSscxNssbDate.setText(dateStr);
                                   doNssbQkSelect();
                                }else{
                                   UIUtil.raDialog(getActivity(), WR.NET_NOT_CONN);
                                }
                          }
                          }, 
                          cd.get(Calendar.YEAR), 
                          cd.get(Calendar.MONTH),
                          cd.get(Calendar.DAY_OF_MONTH));
                    dp.show();
                    //隐藏天数
                    if (dp != null) {
                        int SDKVersion = PhoneInfo.getSDKVersionNumber();
                        if (SDKVersion < 11) {
                            ((ViewGroup) dp.getDatePicker().getChildAt(0)).getChildAt(2).setVisibility(View.GONE);
                        } else if (SDKVersion > 14) {
                            ((ViewGroup) ((ViewGroup) dp.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);
                        }
                    }
                    etSscxNssbDate.setInputType(InputType.TYPE_NULL);  
                }
                return false;
            }
        };    
    /**
         * 获取系统SDK版本
         * @return
         */
        public static int getSDKVersionNumber() {
            int sdkVersion;
            try {
                sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK_INT);
            } catch (NumberFormatException e) {
                sdkVersion = 0;
            }
            return sdkVersion;
        }
  • 相关阅读:
    今天开通cnblogs了,留下点印记
    在windows下编译xvidcore
    linux下c文件里使用中文引发的编译错误及解决
    ThinkPad T400
    据说IBM欲64亿收购Sun
    Visual Studio 的 DllImport 缺陷
    再整MySQL的中文UTF8问题
    Webbased/online OCR services and demos
    用FileSystemWatcher实现山寨版Second Copy [1]
    以前的帖子没了??
  • 原文地址:https://www.cnblogs.com/yshyee/p/3716118.html
Copyright © 2020-2023  润新知