Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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_Calendar - Fatal编程技术网

Android 从星期一开始做日历

Android 从星期一开始做日历,android,calendar,Android,Calendar,我在网上找到了这个日历,我想让它从周一开始,而不是周日…有什么想法吗? 以下是源代码: CalendarView.java public GregorianCalendar month, itemmonth;// calendar instances. public CalendarAdapter adapter;// adapter instance public Handler handler;// for grabbing some event values for showing th

我在网上找到了这个日历,我想让它从周一开始,而不是周日…有什么想法吗? 以下是源代码: CalendarView.java

public GregorianCalendar month, itemmonth;// calendar instances.

public CalendarAdapter adapter;// adapter instance
public Handler handler;// for grabbing some event values for showing the dot
                        // marker.
public ArrayList<String> items; // container to store calendar items which
                                // needs showing the event marker

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.calendar);
     Locale.setDefault( Locale.US );
    month = (GregorianCalendar) GregorianCalendar.getInstance();
    itemmonth = (GregorianCalendar) month.clone();

    items = new ArrayList<String>();
    adapter = new CalendarAdapter(this, month);

    GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(adapter);

    handler = new Handler();
    handler.post(calendarUpdater);

    TextView title = (TextView) findViewById(R.id.title);
    title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));

    RelativeLayout previous = (RelativeLayout) findViewById(R.id.previous);

    previous.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            setPreviousMonth();
            refreshCalendar();
        }
    });

    RelativeLayout next = (RelativeLayout) findViewById(R.id.next);
    next.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            setNextMonth();
            refreshCalendar();

        }
    });

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {

            ((CalendarAdapter) parent.getAdapter()).setSelected(v);
            String selectedGridDate = CalendarAdapter.dayString
                    .get(position);
            String[] separatedTime = selectedGridDate.split("-");
            String gridvalueString = separatedTime[2].replaceFirst("^0*",
                    "");// taking last part of date. ie; 2 from 2012-12-02.
            int gridvalue = Integer.parseInt(gridvalueString);
            // navigate to next or previous month on clicking offdays.
            if ((gridvalue > 10) && (position < 8)) {
                setPreviousMonth();
                refreshCalendar();
            } else if ((gridvalue < 7) && (position > 28)) {
                setNextMonth();
                refreshCalendar();
            }
            ((CalendarAdapter) parent.getAdapter()).setSelected(v);

            if(selectedGridDate.equals("2013-06-20")) //mettergli confronto con date evento
                setContentView(R.layout.activity_inizio);


        }
    });
}

protected void setNextMonth() {
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMaximum(GregorianCalendar.MONTH)) {
        month.set((month.get(GregorianCalendar.YEAR) + 1),
                month.getActualMinimum(GregorianCalendar.MONTH), 1);
    } else {
        month.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) + 1);
    }

}

protected void setPreviousMonth() {
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMinimum(GregorianCalendar.MONTH)) {
        month.set((month.get(GregorianCalendar.YEAR) - 1),
                month.getActualMaximum(GregorianCalendar.MONTH), 1);
    } else {
        month.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) - 1);
    }

}

protected void showToast(String string) {
    Toast.makeText(this, string, Toast.LENGTH_SHORT).show();

}

public void refreshCalendar() {
    TextView title = (TextView) findViewById(R.id.title);

    adapter.refreshDays();
    adapter.notifyDataSetChanged();
    handler.post(calendarUpdater); // generate some calendar items

    title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
}

public Runnable calendarUpdater = new Runnable() {

    @Override
    public void run() {
        items.clear();

        // Print dates of the current week
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
        String itemvalue;
        for (int i = 0; i < 7; i++) { //AL POSTO DI SETTE METTERE IL NUMERO DEGLI EVENTI
            itemvalue = df.format(itemmonth.getTime());
            itemmonth.add(GregorianCalendar.DATE, 1);
            items.add("2013-06-21"); //METTERE DATE EVENTI
            items.add("2012-10-07");
            items.add("2012-10-15");
            items.add("2012-10-20");
            items.add("2012-11-30");
            items.add("2012-11-28");
        }

        adapter.setItems(items);
        adapter.notifyDataSetChanged();
    }
};
private Context mContext;
private java.util.Calendar month;
public GregorianCalendar pmonth; // Istanzia un calendario per il mese precedente
/**
 * calendar instance for previous month for getting complete view
 */
public GregorianCalendar pmonthmaxset;
private GregorianCalendar selectedDate;
int firstDay;
int maxWeeknumber;
int maxP;
int calMaxP;
int lastWeekDay;
int leftDays;
int mnthlength;
String itemvalue, curentDateString;
DateFormat df;

private ArrayList<String> items;
public static List<String> dayString;
private View previousView;

public CalendarAdapter(Context c, GregorianCalendar monthCalendar) {
    CalendarAdapter.dayString = new ArrayList<String>();
     Locale.setDefault( Locale.US );
    month = monthCalendar;
    selectedDate = (GregorianCalendar) monthCalendar.clone();
    mContext = c;
    month.set(GregorianCalendar.DAY_OF_MONTH, 1);
    this.items = new ArrayList<String>();
    df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
    curentDateString = df.format(selectedDate.getTime());
    refreshDays();
}

public void setItems(ArrayList<String> items) {
    for (int i = 0; i != items.size(); i++) {
        if (items.get(i).length() == 1) {
            items.set(i, "0" + items.get(i));
        }
    }
    this.items = items;
}

public int getCount() {
    return dayString.size();
}

public Object getItem(int position) {
    return dayString.get(position);
}

public long getItemId(int position) {
    return 0;
}

// create a new view for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    TextView dayView;
    if (convertView == null) { // if it's not recycled, initialize some
                                // attributes
        LayoutInflater vi = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.calendar_item, null);

    }
    dayView = (TextView) v.findViewById(R.id.date);
    // separates daystring into parts.
    String[] separatedTime = dayString.get(position).split("-");
    // taking last part of date. ie; 2 from 2012-12-02
    String gridvalue = separatedTime[2].replaceFirst("^0*", "");
    // checking whether the day is in current month or not.
    if ((Integer.parseInt(gridvalue) > 1) && (position < firstDay)) {
        // setting offdays to white color.
        dayView.setTextColor(Color.WHITE);
        dayView.setClickable(false);
        dayView.setFocusable(false);
    } else if ((Integer.parseInt(gridvalue) < 7) && (position > 28)) {
        dayView.setTextColor(Color.WHITE);
        dayView.setClickable(false);
        dayView.setFocusable(false);
    } else {
        // setting curent month's days in blue color.
        dayView.setTextColor(Color.BLUE);
    }

    if (dayString.get(position).equals(curentDateString)) {
        setSelected(v);
        previousView = v;
    } else {
        v.setBackgroundResource(R.drawable.list_item_background);
    }
    dayView.setText(gridvalue);

    // create date string for comparison
    String date = dayString.get(position);

    if (date.length() == 1) {
        date = "0" + date;
    }
    String monthStr = "" + (month.get(GregorianCalendar.MONTH) + 1);
    if (monthStr.length() == 1) {
        monthStr = "0" + monthStr;
    }

    // show icon if date is not empty and it exists in the items array
    ImageView iw = (ImageView) v.findViewById(R.id.date_icon);
    if (date.length() > 0 && items != null && items.contains(date)) {
        iw.setVisibility(View.VISIBLE);
    } else {
        iw.setVisibility(View.INVISIBLE);
    }
    return v;
}

public View setSelected(View view) {
    if (previousView != null) {
        previousView.setBackgroundResource(R.drawable.list_item_background);
    }
    previousView = view;
    view.setBackgroundResource(R.drawable.calendar_cel_selectl);
    return view;
}

public void refreshDays() {
    // clear items
    items.clear();
    dayString.clear();
    Locale.setDefault( Locale.ITALY );
    pmonth = (GregorianCalendar) month.clone();
    // month start day. ie; sun, mon, etc
    firstDay = month.get(GregorianCalendar.DAY_OF_WEEK);
    // finding number of weeks in current month.
    maxWeeknumber = month.getActualMaximum(GregorianCalendar.WEEK_OF_MONTH);
    // allocating maximum row number for the gridview.
    mnthlength = maxWeeknumber * 7;
    maxP = getMaxP(); // previous month maximum day 31,30....
    calMaxP = maxP - (firstDay - 1);// calendar offday starting 24,25 ...
    /**
     * Calendar instance for getting a complete gridview including the three
     * month's (previous,current,next) dates.
     */
    pmonthmaxset = (GregorianCalendar) pmonth.clone();
    /**
     * setting the start date as previous month's required date.
     */
    pmonthmaxset.set(GregorianCalendar.DAY_OF_MONTH, calMaxP +1);

    /**
     * filling calendar gridview.
     */
    for (int n = 0; n < mnthlength; n++) {

        itemvalue = df.format(pmonthmaxset.getTime());
        pmonthmaxset.add(GregorianCalendar.DATE, 1);
        dayString.add(itemvalue);

    }
}

private int getMaxP() {
    int maxP;
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMinimum(GregorianCalendar.MONTH)) {
        pmonth.set((month.get(GregorianCalendar.YEAR) - 1),
                month.getActualMaximum(GregorianCalendar.MONTH), 1);
    } else {
        pmonth.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) - 1);
    }
    maxP = pmonth.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);

    return maxP;
}
public gregoriacalendar-month,itemmonth;//日历实例。
公共日历适配器;//适配器实例
公共处理程序;//获取一些事件值以显示点
//马克。
公共阵列列表项;//用于存储日历项的容器
//需要显示事件标记
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar);
setDefault(Locale.US);
month=(GregorianCalendar)GregorianCalendar.getInstance();
itemmonth=(GregorianCalendar)month.clone();
items=newarraylist();
适配器=新日历适配器(本月);
GridView GridView=(GridView)findViewById(R.id.GridView);
setAdapter(适配器);
handler=新的handler();
handler.post(日历更新程序);
TextView title=(TextView)findViewById(R.id.title);
title.setText(android.text.format.DateFormat.format(“MMMM-yyyy”,month));
RelativeLayout previous=(RelativeLayout)findViewById(R.id.previous);
previous.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
setPreviousMonth();
刷新日历();
}
});
RelativeLayout next=(RelativeLayout)findViewById(R.id.next);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
setNextMonth();
刷新日历();
}
});
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
((CalendarAdapter)parent.getAdapter()).setSelected(v);
String selectedGridDate=CalendarAdapter.dayString
.获得(职位);
String[]separatedTime=selectedgridate.split(“-”);
String gridvalueString=separatedTime[2]。replaceFirst(“^0*”,
“”);//从2012年12月2日开始计算日期的最后一部分。
int gridvalue=Integer.parseInt(gridvalueString);
//单击offdays导航到下个月或上个月。
如果((网格值>10)和&(位置<8)){
setPreviousMonth();
刷新日历();
}否则如果((网格值<7)和(&(位置>28)){
setNextMonth();
刷新日历();
}
((CalendarAdapter)parent.getAdapter()).setSelected(v);
if(selectedGridDate.equals(“2013-06-20”)//mettergli对抗日期事件
setContentView(R.layout.activity_-io);
}
});
}
受保护的void setNextMonth(){
if(month.get(gregorianalendar.month)=month
.getActualMaximum(Gregorianalendar.月)){
month.set((month.get(gregorianalendar.YEAR)+1),
月。获取实际最小值(Gregorianalendar.month),1);
}否则{
月.set(gregorianalendar.month,
月数(Gregorianalendar.month)+1);
}
}
受保护的void setPreviousMonth(){
if(month.get(gregorianalendar.month)=month
.getActualMinimum(Gregorianalendar.月)){
month.set((month.get(gregorianalendar.YEAR)-1),
月。获取实际最大值(Gregorianalendar.month),1);
}否则{
月.set(gregorianalendar.month,
获取(GregorianCalendar.month)-1);
}
}
受保护的void showtoos(字符串){
Toast.makeText(this,string,Toast.LENGTH_SHORT).show();
}
公共日历(){
TextView title=(TextView)findViewById(R.id.title);
adapter.refreshDays();
adapter.notifyDataSetChanged();
handler.post(calendarUpdater);//生成一些日历项
title.setText(android.text.format.DateFormat.format(“MMMM-yyyy”,month));
}
public Runnable calendarUpdater=new Runnable(){
@凌驾
公开募捐{
items.clear();
//打印本周的日期
DateFormat df=新的SimpleDataFormat(“yyyy-MM-dd”,Locale.US);
字符串项值;
对于(int i=0;i<7;i++){//AL POSTO DI SETTE METTERE IL numerio DEGLI event i
itemvalue=df.format(itemmonth.getTime());
itemmonth.add(GregorianCalendar.DATE,1);
项目。添加(“2013-06-21”);//日期事件
添加项目(“2012-10-07”);
添加项目(“2012-10-15”);
添加项目(“2012-10-20”);
添加项目(“2012-11-30”);
添加项目(“2012-11-28”);
}
adapter.setItems(项目);
adapter.notifyDataSetChanged();
}
};
}

CalendarAdapter.java

public GregorianCalendar month, itemmonth;// calendar instances.

public CalendarAdapter adapter;// adapter instance
public Handler handler;// for grabbing some event values for showing the dot
                        // marker.
public ArrayList<String> items; // container to store calendar items which
                                // needs showing the event marker

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.calendar);
     Locale.setDefault( Locale.US );
    month = (GregorianCalendar) GregorianCalendar.getInstance();
    itemmonth = (GregorianCalendar) month.clone();

    items = new ArrayList<String>();
    adapter = new CalendarAdapter(this, month);

    GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(adapter);

    handler = new Handler();
    handler.post(calendarUpdater);

    TextView title = (TextView) findViewById(R.id.title);
    title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));

    RelativeLayout previous = (RelativeLayout) findViewById(R.id.previous);

    previous.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            setPreviousMonth();
            refreshCalendar();
        }
    });

    RelativeLayout next = (RelativeLayout) findViewById(R.id.next);
    next.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            setNextMonth();
            refreshCalendar();

        }
    });

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {

            ((CalendarAdapter) parent.getAdapter()).setSelected(v);
            String selectedGridDate = CalendarAdapter.dayString
                    .get(position);
            String[] separatedTime = selectedGridDate.split("-");
            String gridvalueString = separatedTime[2].replaceFirst("^0*",
                    "");// taking last part of date. ie; 2 from 2012-12-02.
            int gridvalue = Integer.parseInt(gridvalueString);
            // navigate to next or previous month on clicking offdays.
            if ((gridvalue > 10) && (position < 8)) {
                setPreviousMonth();
                refreshCalendar();
            } else if ((gridvalue < 7) && (position > 28)) {
                setNextMonth();
                refreshCalendar();
            }
            ((CalendarAdapter) parent.getAdapter()).setSelected(v);

            if(selectedGridDate.equals("2013-06-20")) //mettergli confronto con date evento
                setContentView(R.layout.activity_inizio);


        }
    });
}

protected void setNextMonth() {
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMaximum(GregorianCalendar.MONTH)) {
        month.set((month.get(GregorianCalendar.YEAR) + 1),
                month.getActualMinimum(GregorianCalendar.MONTH), 1);
    } else {
        month.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) + 1);
    }

}

protected void setPreviousMonth() {
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMinimum(GregorianCalendar.MONTH)) {
        month.set((month.get(GregorianCalendar.YEAR) - 1),
                month.getActualMaximum(GregorianCalendar.MONTH), 1);
    } else {
        month.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) - 1);
    }

}

protected void showToast(String string) {
    Toast.makeText(this, string, Toast.LENGTH_SHORT).show();

}

public void refreshCalendar() {
    TextView title = (TextView) findViewById(R.id.title);

    adapter.refreshDays();
    adapter.notifyDataSetChanged();
    handler.post(calendarUpdater); // generate some calendar items

    title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
}

public Runnable calendarUpdater = new Runnable() {

    @Override
    public void run() {
        items.clear();

        // Print dates of the current week
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
        String itemvalue;
        for (int i = 0; i < 7; i++) { //AL POSTO DI SETTE METTERE IL NUMERO DEGLI EVENTI
            itemvalue = df.format(itemmonth.getTime());
            itemmonth.add(GregorianCalendar.DATE, 1);
            items.add("2013-06-21"); //METTERE DATE EVENTI
            items.add("2012-10-07");
            items.add("2012-10-15");
            items.add("2012-10-20");
            items.add("2012-11-30");
            items.add("2012-11-28");
        }

        adapter.setItems(items);
        adapter.notifyDataSetChanged();
    }
};
private Context mContext;
private java.util.Calendar month;
public GregorianCalendar pmonth; // Istanzia un calendario per il mese precedente
/**
 * calendar instance for previous month for getting complete view
 */
public GregorianCalendar pmonthmaxset;
private GregorianCalendar selectedDate;
int firstDay;
int maxWeeknumber;
int maxP;
int calMaxP;
int lastWeekDay;
int leftDays;
int mnthlength;
String itemvalue, curentDateString;
DateFormat df;

private ArrayList<String> items;
public static List<String> dayString;
private View previousView;

public CalendarAdapter(Context c, GregorianCalendar monthCalendar) {
    CalendarAdapter.dayString = new ArrayList<String>();
     Locale.setDefault( Locale.US );
    month = monthCalendar;
    selectedDate = (GregorianCalendar) monthCalendar.clone();
    mContext = c;
    month.set(GregorianCalendar.DAY_OF_MONTH, 1);
    this.items = new ArrayList<String>();
    df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
    curentDateString = df.format(selectedDate.getTime());
    refreshDays();
}

public void setItems(ArrayList<String> items) {
    for (int i = 0; i != items.size(); i++) {
        if (items.get(i).length() == 1) {
            items.set(i, "0" + items.get(i));
        }
    }
    this.items = items;
}

public int getCount() {
    return dayString.size();
}

public Object getItem(int position) {
    return dayString.get(position);
}

public long getItemId(int position) {
    return 0;
}

// create a new view for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    TextView dayView;
    if (convertView == null) { // if it's not recycled, initialize some
                                // attributes
        LayoutInflater vi = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.calendar_item, null);

    }
    dayView = (TextView) v.findViewById(R.id.date);
    // separates daystring into parts.
    String[] separatedTime = dayString.get(position).split("-");
    // taking last part of date. ie; 2 from 2012-12-02
    String gridvalue = separatedTime[2].replaceFirst("^0*", "");
    // checking whether the day is in current month or not.
    if ((Integer.parseInt(gridvalue) > 1) && (position < firstDay)) {
        // setting offdays to white color.
        dayView.setTextColor(Color.WHITE);
        dayView.setClickable(false);
        dayView.setFocusable(false);
    } else if ((Integer.parseInt(gridvalue) < 7) && (position > 28)) {
        dayView.setTextColor(Color.WHITE);
        dayView.setClickable(false);
        dayView.setFocusable(false);
    } else {
        // setting curent month's days in blue color.
        dayView.setTextColor(Color.BLUE);
    }

    if (dayString.get(position).equals(curentDateString)) {
        setSelected(v);
        previousView = v;
    } else {
        v.setBackgroundResource(R.drawable.list_item_background);
    }
    dayView.setText(gridvalue);

    // create date string for comparison
    String date = dayString.get(position);

    if (date.length() == 1) {
        date = "0" + date;
    }
    String monthStr = "" + (month.get(GregorianCalendar.MONTH) + 1);
    if (monthStr.length() == 1) {
        monthStr = "0" + monthStr;
    }

    // show icon if date is not empty and it exists in the items array
    ImageView iw = (ImageView) v.findViewById(R.id.date_icon);
    if (date.length() > 0 && items != null && items.contains(date)) {
        iw.setVisibility(View.VISIBLE);
    } else {
        iw.setVisibility(View.INVISIBLE);
    }
    return v;
}

public View setSelected(View view) {
    if (previousView != null) {
        previousView.setBackgroundResource(R.drawable.list_item_background);
    }
    previousView = view;
    view.setBackgroundResource(R.drawable.calendar_cel_selectl);
    return view;
}

public void refreshDays() {
    // clear items
    items.clear();
    dayString.clear();
    Locale.setDefault( Locale.ITALY );
    pmonth = (GregorianCalendar) month.clone();
    // month start day. ie; sun, mon, etc
    firstDay = month.get(GregorianCalendar.DAY_OF_WEEK);
    // finding number of weeks in current month.
    maxWeeknumber = month.getActualMaximum(GregorianCalendar.WEEK_OF_MONTH);
    // allocating maximum row number for the gridview.
    mnthlength = maxWeeknumber * 7;
    maxP = getMaxP(); // previous month maximum day 31,30....
    calMaxP = maxP - (firstDay - 1);// calendar offday starting 24,25 ...
    /**
     * Calendar instance for getting a complete gridview including the three
     * month's (previous,current,next) dates.
     */
    pmonthmaxset = (GregorianCalendar) pmonth.clone();
    /**
     * setting the start date as previous month's required date.
     */
    pmonthmaxset.set(GregorianCalendar.DAY_OF_MONTH, calMaxP +1);

    /**
     * filling calendar gridview.
     */
    for (int n = 0; n < mnthlength; n++) {

        itemvalue = df.format(pmonthmaxset.getTime());
        pmonthmaxset.add(GregorianCalendar.DATE, 1);
        dayString.add(itemvalue);

    }
}

private int getMaxP() {
    int maxP;
    if (month.get(GregorianCalendar.MONTH) == month
            .getActualMinimum(GregorianCalendar.MONTH)) {
        pmonth.set((month.get(GregorianCalendar.YEAR) - 1),
                month.getActualMaximum(GregorianCalendar.MONTH), 1);
    } else {
        pmonth.set(GregorianCalendar.MONTH,
                month.get(GregorianCalendar.MONTH) - 1);
    }
    maxP = pmonth.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);

    return maxP;
}
私有上下文mContext;
private java.util.Calendar month;
公共格雷戈里安卡伦达pmonth;//根据先例列出日历
/**
*用于获取完整视图的上月日历实例
*/
公共gregorianalendar pmonthmaxset;
私人Gregorianalendar selectedDate;
第一天;
int maxWeeknumber;
int-maxP;
int-calMaxP;
最后一个工作日;
三天;
国际长度;
字符串itemvalue,curentDateString;
日期格式df;
私有ArrayList项;
公共静态列表日字符串;
私有视图优先视图;
公共日历适配器(上下文c,GregorianCalendar-monthCalendar){
CalendarAdapter.dayString=新的ArrayList();
setDefault(Locale.US);
月份=月份;
selectedDate=(GregorianCalendar)monthCalendar.clone();
mContext=c;
月份设置(GregorianCalendar.DAY/u月,1);
this.items=new ArrayList();
df=新的SimpleDataFormat(“yyyy-MM-dd”,Locale.US);
currentdatestring=df.format(selectedDate.getTime());