Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日历左键和右键单击月份箭头根据android中的特定日期启用和禁用_Android - Fatal编程技术网

日历左键和右键单击月份箭头根据android中的特定日期启用和禁用

日历左键和右键单击月份箭头根据android中的特定日期启用和禁用,android,Android,我有一个日历代码,在页面顶部我们提到了两年。 左侧上一年和右侧本年 因此,一旦用户打开日历,日历上就会默认显示当前年份、日期和月份。 对于日历,左右箭头都指向下一个月和上一个月 例如:如果我们有2017年和2018年,根据需求,如果用户选择2017年1月,那么左箭头应该被禁用。如果用户单击向右箭头,则用户应能一直到2017年12月,此后,向右箭头应被禁用。 然后,当用户单击2018并移动到2018年1月时,左箭头应被禁用。同样,该月的右箭头应仅在当前月份启用。 我尝试了不同的方法,但在某个月内无

我有一个日历代码,在页面顶部我们提到了两年。 左侧上一年和右侧本年 因此,一旦用户打开日历,日历上就会默认显示当前年份、日期和月份。 对于日历,左右箭头都指向下一个月和上一个月

例如:如果我们有2017年和2018年,根据需求,如果用户选择2017年1月,那么左箭头应该被禁用。如果用户单击向右箭头,则用户应能一直到2017年12月,此后,向右箭头应被禁用。 然后,当用户单击2018并移动到2018年1月时,左箭头应被禁用。同样,该月的右箭头应仅在当前月份启用。 我尝试了不同的方法,但在某个月内无法禁用单击

//next arrow click for showing next month
nextMonth.setOnClickListener(new View.OnClickListener() {
 @Override
  public void onClick(View v) {

   if (month > 11) {//checking the month
     month = 1;
     year++;
   } else {
   month++;
   }
   setGridCellAdapterToDate(month, year);
   }
   });

//prev arrow click to show prev month
    prevMonth.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    if (month <= 1) {//checking the month
        month = 12;
        year--;
    } else {
    month--;
    }

    setGridCellAdapterToDate(month, year);
                        }
   });
//下一个箭头单击显示下一个月
nextMonth.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(月份>11){//检查月份
月=1;
年份++;
}否则{
月份++;
}
setGridCellAdapterToDate(月,年);
}
});
//上一个箭头单击以显示上一个月
prevMonth.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){

如果(月使用下面的代码更新
calendarMy
对象中的当前时间,并检查当前月份和年份

Calendar calendar = Calendar.getInstance();
Calendar calendarMy = Calendar.getInstance();

nextMonth.setOnClickListener(new View.OnClickListener() {
 @Override
  public void onClick(View v) {

   if (month > 11) {//checking the month
     month = 1;
     year++;
   } else {
   month++;
   }

   //update current time
    calendarMy.set(Calendar.MONTH,month);
    calendarMy.set(Calendar.YEAR,year);

    disableButton();

   setGridCellAdapterToDate(month, year);
   }
   });

//prev arrow click to show prev month
    prevMonth.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    if (month <= 1) {//checking the month
        month = 12;
        year--;
    } else {
    month--;
    }

    //update current time
     calendarMy.set(Calendar.MONTH,month);
    calendarMy.set(Calendar.YEAR,year);

    disableButton();


    setGridCellAdapterToDate(month, year);
                        }
   });
public void disableButton()
   {

   // condition for checking first month of last year
     if (calendar.get(Calendar.YEAR) != (calendarMy.get(Calendar.YEAR)) && calendarMy.get(Calendar.MONTH) == 0) {
            //disable left button
        }
        // condition for checking current month
        else if (calendarMy.get(Calendar.YEAR) == (calendarMy.get(Calendar.YEAR)) && calendar.get(Calendar.MONTH) == calendarMy.get(Calendar.MONTH)) {

            //disable right button
        }else{
        // enable both button
        }


   }

您好,非常感谢。我已经在第一个if条件中的disableButton方法calendarMy.get(Calendar.MONTH)中添加了更改==0它显示在0的位置必须是:Calendar.sunday,Calendar.monday…你能告诉我在0的位置我需要添加当前日期吗?嗨,我已经附上了问题中的图像。你能告诉我在0的位置我需要添加日历中的当前日期吗?你导入class
java.util.Calendar
或任何其他日历类吗ss@Amrutha你也可以使用Calendar.Janur
intent of
0
非常感谢..我已经使用了这个逻辑,能够根据条件执行单击操作。谢谢,我传递的消息就像(Calendar.get(Calendar.YEAR)!=(calendarMy.get(Calendar.YEAR))&&Integer.toString(calendarMy.get(Calendar.MONTH))=“一月”){myCalendar.get(Calendar.MONTH)=Calendar.JANUARY尝试此操作可能使用设置最大日期和最小日期选项
Just Pass start month in " myCalendar.get(Calendar.MONTH)".Happy coding...



 DatePickerDialog dpd = new DatePickerDialog(ActivityNewGroup.this, date,
                            myCalendar.get(Calendar.YEAR),
                            myCalendar.get(Calendar.MONTH),
                            myCalendar.get(Calendar.DAY_OF_MONTH));
                    dpd.getDatePicker().setMinDate(System.currentTimeMillis());