将手势添加到自定义日期时间选择器android

将手势添加到自定义日期时间选择器android,android,datepicker,gesture,android-timepicker,Android,Datepicker,Gesture,Android Timepicker,我想添加手势onDown和onflig到我的自定义日期时间选择器,如果有人知道,请建议。我正在粘贴下面的图片,请检查并建议 目前我正在使用click listener更改日期和时间 View.OnClickListener hour_plus_listener = new View.OnClickListener() { @Override public void onClick(View v) { hour_display.requ

我想添加手势onDown和onflig到我的自定义日期时间选择器,如果有人知道,请建议。我正在粘贴下面的图片,请检查并建议

目前我正在使用click listener更改日期和时间

 View.OnClickListener hour_plus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            hour_display.requestFocus();

            try { 
                    cal.add(Calendar.HOUR_OF_DAY, 1); 
                sendToDisplay();
            } catch (Exception e) {
                Log.e("", e.toString());

            }
        }
    };
    View.OnClickListener hour_minus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            hour_display.requestFocus();

            try {  
                    cal.add(Calendar.HOUR_OF_DAY, -1); 
                sendToDisplay();
            } catch (Exception e) {
                Log.e("", e.toString());
            }
        }
    };

    View.OnClickListener min_plus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            min_display.requestFocus();

            try {
                cal.add(Calendar.MINUTE, 1);
                sendToDisplay();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };
    View.OnClickListener min_minus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            min_display.requestFocus();

            try {
                cal.add(Calendar.MINUTE, -1);
                sendToDisplay();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };

    String[] months = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
            "Sep", "Oct", "Nov", "Dec" };

    View.OnClickListener month_plus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {
                cal.add(Calendar.MONTH, 1);

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                changeFilter();
                sendToListener();
            } catch (Exception e) {
                Log.e("", e.toString());
            }
        }
    };
    View.OnClickListener month_minus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            try {
                cal.add(Calendar.MONTH, -1);

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                changeFilter();
                sendToListener();
            } catch (Exception e) {
                Log.e("", e.toString());
            }
        }
    };
    View.OnClickListener date_plus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {
                date_display.requestFocus();
                cal.add(Calendar.DAY_OF_MONTH, 1);

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                sendToListener();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    };
    View.OnClickListener date_minus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {
                date_display.requestFocus();
                cal.add(Calendar.DAY_OF_MONTH, -1);

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                sendToListener();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    };
    View.OnClickListener year_plus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {
                year_display.requestFocus();

                if (cal.get(Calendar.YEAR) >= endYear) {

                    cal.set(Calendar.YEAR, startYear);

                } else {
                    cal.add(Calendar.YEAR, +1);

                }

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                changeFilter();
                sendToListener();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    };
    View.OnClickListener year_minus_listener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {
                year_display.requestFocus();

                if (cal.get(Calendar.YEAR) <= startYear) {
                    cal.set(Calendar.YEAR, endYear);

                } else {
                    cal.add(Calendar.YEAR, -1);

                }

                month_display.setText(months[cal.get(Calendar.MONTH)]);
                year_display.setText(String.valueOf(cal.get(Calendar.YEAR)));
                date_display.setText(String.valueOf(cal
                        .get(Calendar.DAY_OF_MONTH)));

                changeFilter();
                sendToListener();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    };
View.OnClickListener小时数加上\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
小时显示。请求焦点();
试试{
计算添加(日历小时/天,1);
sendToDisplay();
}捕获(例外e){
Log.e(“,e.toString());
}
}
};
View.OnClickListener小时数减去\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
小时显示。请求焦点();
试试{
计算添加(日历小时/天,-1);
sendToDisplay();
}捕获(例外e){
Log.e(“,e.toString());
}
}
};
View.OnClickListener min\u plus\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
minu display.requestFocus();
试一试{
计算添加(日历分钟,1);
sendToDisplay();
}捕获(例外e){
e、 printStackTrace();
}
}
};
View.OnClickListener min\u减去\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
minu display.requestFocus();
试一试{
计算添加(日历分钟,-1);
sendToDisplay();
}捕获(例外e){
e、 printStackTrace();
}
}
};
字符串[]月={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”,
“九月”、“十月”、“十一月”、“十二月”};
View.OnClickListener month\u plus\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
计算添加(日历月,1);
month_display.setText(月[cal.get(Calendar.month)]);
year_display.setText(String.valueOf(cal.get(Calendar.year));
date_display.setText(字符串.valueOf(校准
.get(日历.月日));
changeFilter();
sendToListener();
}捕获(例外e){
Log.e(“,e.toString());
}
}
};
View.OnClickListener月数减去\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
cal.add(日历月份,-1);
month_display.setText(月[cal.get(Calendar.month)]);
year_display.setText(String.valueOf(cal.get(Calendar.year));
date_display.setText(字符串.valueOf(校准
.get(日历.月日));
changeFilter();
sendToListener();
}捕获(例外e){
Log.e(“,e.toString());
}
}
};
View.OnClickListener日期加上监听器=新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
date_display.requestFocus();
cal.add(日历日/月,1);
month_display.setText(月[cal.get(Calendar.month)]);
year_display.setText(String.valueOf(cal.get(Calendar.year));
date_display.setText(字符串.valueOf(校准
.get(日历.月日));
sendToListener();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
};
View.OnClickListener日期\u减去\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
date_display.requestFocus();
cal.add(日历日/月日,-1);
month_display.setText(月[cal.get(Calendar.month)]);
year_display.setText(String.valueOf(cal.get(Calendar.year));
date_display.setText(字符串.valueOf(校准
.get(日历.月日));
sendToListener();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
};
View.OnClickListener year\u plus\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
年份显示。请求焦点();
如果(cal.get(日历年)>=endYear){
校准设置(日历年、起始日期);
}否则{
加上(日历年,+1);
}
month_display.setText(月[cal.get(Calendar.month)]);
year_display.setText(String.valueOf(cal.get(Calendar.year));
date_display.setText(字符串.valueOf(校准
.get(日历.月日));
changeFilter();
sendToListener();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
};
View.OnClickListener year\u减去\u listener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
年份显示。请求焦点();

如果(cal.get(Calendar.YEAR)您的进度是为了什么?所有控件在向上按钮上正常工作单击listenr和向下按钮Sitener我正在分别更改日期和时间。但现在我想添加手势…如果您有任何想法,请建议使用手势检测器添加您的手势