Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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
Java 在android中禁用日历视图中的每个星期日_Java_Android_Android Calendar - Fatal编程技术网

Java 在android中禁用日历视图中的每个星期日

Java 在android中禁用日历视图中的每个星期日,java,android,android-calendar,Java,Android,Android Calendar,如何在下面的代码中仅禁用星期天? 我们找不到任何解决方案来禁用sunday一个月 MainActivity.java: CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView); Calendar calendar = Calendar.getInstance(); calendarView.setMinDate(calendar.getTimeInMillis()); calendarView.setO

如何在下面的代码中仅禁用星期天? 我们找不到任何解决方案来禁用sunday一个月

MainActivity.java:

CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView);
Calendar calendar = Calendar.getInstance();
calendarView.setMinDate(calendar.getTimeInMillis());
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() 
{

    @Override
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
        Toast.makeText(getApplicationContext(), "" + dayOfMonth, 0).show();// TODO Auto-generated method stub`enter code here`

    }
});

我在一个项目中使用了这个代码。看看它是否能产生理想的结果-

//Global Variables
private Calendar lastSelectedCalendar = null;
private CalendarView calendarView;
//

calendarView = (CalendarView) findViewById(R.id.calendarView);
lastSelectedCalendar = Calendar.getInstance();
calendarView.setMinDate(lastSelectedCalendar.getTimeInMillis() - 1000);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

    @Override
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
        Calendar checkCalendar = Calendar.getInstance();
        checkCalendar.set(year, month, dayOfMonth);
        if(checkCalendar.equals(lastSelectedCalendar))
            return;
        if(checkCalendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
            calendarView.setDate(lastSelectedCalendar.getTimeInMillis());
        else
            lastSelectedCalendar = checkCalendar;
    }
});
日历周日;
列表周末=新建ArrayList();
整数周=5;
对于(整数i=0;i<(周*7);i=i+7){
sunday=Calendar.getInstance();
sunday.add(Calendar.DAY/u年,(Calendar.sunday-sunday.get(Calendar.DAY/u周)+7+i));
//星期六=Calendar.getInstance();
//星期六。添加(Calendar.DAY\u OF_YEAR,(Calendar.saturday-saturday.get(Calendar.DAY\u OF_WEEK)+i));
//周末。添加(星期六);
周末。添加(星期日);
}
日历[]disabledDays=weekends.toArray(新日历[weekends.size()]);
dpd.setDisabledDays(disabledDays);
此代码将禁用接下来的5个星期天,如果您希望在更长时间内执行此操作,只需修改week即可。如果您也希望禁用星期六,只需取消对这些行的注释即可

如果要在前5个星期天执行此操作,只需将for循环修改为:

for(int i=0;i<(周*7);i=i+7){
对于(int j=0;j>(周*7);j=j-7);
sunday=Calendar.getInstance();
sunday.add(Calendar.DAY/u年,(Calendar.sunday-sunday.get(Calendar.DAY/u周)+7+i));
//星期六=Calendar.getInstance();
//星期六。添加(Calendar.DAY\u OF_YEAR,(Calendar.saturday-saturday.get(Calendar.DAY\u OF_WEEK)+i));
//周末。添加(星期六);
周末。添加(星期日);
}

AFAIK这在内置的
CalendarView
中是不可能的。你必须创建一个。或者您可以使用日历库。如何使用日历库禁用Sunday和其他疑问。。。如何在周日让残疾人淡出舞台@Subrata M如何禁用某些天?
Calendar sunday;
List<Calendar> weekends = new ArrayList<>();
int weeks = 5;

for (int i = 0; i < (weeks * 7) ; i = i + 7) {
    sunday = Calendar.getInstance();
    sunday.add(Calendar.DAY_OF_YEAR, (Calendar.SUNDAY - sunday.get(Calendar.DAY_OF_WEEK) + 7 + i));
    // saturday = Calendar.getInstance();
    // saturday.add(Calendar.DAY_OF_YEAR, (Calendar.SATURDAY - saturday.get(Calendar.DAY_OF_WEEK) + i));
    // weekends.add(saturday);
    weekends.add(sunday);
}
Calendar[] disabledDays = weekends.toArray(new Calendar[weekends.size()]);
dpd.setDisabledDays(disabledDays);
 for (int i = 0; i < (weeks * 7); i = i + 7) {
for(int j =0; j > (weeks*7) ; j = j - 7);
sunday = Calendar.getInstance();
sunday.add(Calendar.DAY_OF_YEAR, (Calendar.SUNDAY - sunday.get(Calendar.DAY_OF_WEEK) + 7 + i));
    // saturday = Calendar.getInstance();
    // saturday.add(Calendar.DAY_OF_YEAR, (Calendar.SATURDAY - saturday.get(Calendar.DAY_OF_WEEK) + i));
    // weekends.add(saturday);
    weekends.add(sunday);
}