<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><LinearLayoutandroid:id="@+id/lay_title"style="@style/TitleStyle"android:layout_width="fill_parent" ><TextViewandroid:id="@+id/btn_back"style="@style/TitleLeftButtonStyle" /><TextViewandroid:id="@+id/tv_top"style="@style/TitleMiddleTextStyle"android:text="请选择日期" /><TextViewandroid:id="@+id/btn_goback_to_today"style="@style/TitleRightButtonStyle"android:text="今天" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="53.0dip"android:background="#ff394147"android:gravity="center_vertical" ><LinearLayoutandroid:id="@+id/btn_prev_month"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="0.2"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/left_img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/triangle06_states"android:duplicateParentState="true"android:text=""android:textSize="16.0dip" /></LinearLayout><LinearLayoutandroid:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="0.6"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/tv_month"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="xxxx年14月"android:textColor="#ffffffff"android:textSize="21.0dip" /></LinearLayout><LinearLayoutandroid:id="@+id/btn_next_month"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="0.2"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/right_img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/triangle05_states"android:duplicateParentState="true"android:text=""android:textSize="16.0dip" /></LinearLayout></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="22.0dip"android:background="#ff8091a8" ><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周日"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周一"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周二"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周三"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周四"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周五"android:textColor="#ffffffff"android:textSize="14.0dip" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1.0"android:gravity="center"android:text="周六"android:textColor="#ffffffff"android:textSize="14.0dip" /></LinearLayout><GridViewandroid:id="@+id/gridview"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="#00000000"android:clickable="true"android:clipChildren="true"android:columnWidth="55.0dip"android:horizontalSpacing="1.0dip"android:listSelector="@null"android:numColumns="7"android:paddingBottom="1.0dip"android:stretchMode="columnWidth"android:verticalSpacing="1.0dip" /></LinearLayout> 】<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:background="#FFFFFF"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:gravity="center"android:layout_width="46dp"android:layout_height="55dp"android:id="@+id/tvtext"/></LinearLayout><strong><span style="font-size:32px;color:#ff0000;"></span></strong>/*** 日历gridview中的每一个item显示的textview* @author lmw**/public class CalendarAdapter extends BaseAdapter {private boolean isLeapyear = false; //是否为闰年private int daysOfMonth = 0; //某月的天数private int dayOfWeek = 0; //具体某一天是星期几private int lastDaysOfMonth = 0; //上一个月的总天数private Context context;private String[] dayNumber = new String[42]; //一个gridview中的日期存入此数组中// private static String week[] = {"周日","周一","周二","周三","周四","周五","周六"};private SpecialCalendar sc = null;private LunarCalendar lc = null;private Resources res = null;private Drawable drawable = null;private String currentYear = "";private String currentMonth = "";private String currentDay = "";private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");private int currentFlag = -1; //用于标记当天private int[] schDateTagFlag = null; //存储当月所有的日程日期private String showYear = ""; //用于在头部显示的年份private String showMonth = ""; //用于在头部显示的月份private String animalsYear = "";private String leapMonth = ""; //闰哪一个月private String cyclical = ""; //天干地支//系统当前时间private String sysDate = "";private String sys_year = "";private String sys_month = "";private String sys_day = "";public CalendarAdapter(){Date date = new Date();sysDate = sdf.format(date); //当期日期sys_year = sysDate.split("-")[0];sys_month = sysDate.split("-")[1];sys_day = sysDate.split("-")[2];}public CalendarAdapter(Context context,Resources rs,int jumpMonth,int jumpYear,int year_c,int month_c,int day_c){this();this.context= context;sc = new SpecialCalendar();lc = new LunarCalendar();this.res = rs;int stepYear = year_c+jumpYear;int stepMonth = month_c+jumpMonth ;if(stepMonth > 0){//往下一个月滑动if(stepMonth%12 == 0){stepYear = year_c + stepMonth/12 -1;stepMonth = 12;}else{stepYear = year_c + stepMonth/12;stepMonth = stepMonth%12;}}else{//往上一个月滑动stepYear = year_c - 1 + stepMonth/12;stepMonth = stepMonth%12 + 12;if(stepMonth%12 == 0){}}currentYear = String.valueOf(stepYear);; //得到当前的年份currentMonth = String.valueOf(stepMonth); //得到本月(jumpMonth为滑动的次数,每滑动一次就增加一月或减一月)currentDay = String.valueOf(day_c); //得到当前日期是哪天getCalendar(Integer.parseInt(currentYear),Integer.parseInt(currentMonth));}public CalendarAdapter(Context context,Resources rs,int year, int month, int day){ this();this.context= context;sc = new SpecialCalendar();lc = new LunarCalendar();this.res = rs;currentYear = String.valueOf(year);; //得到跳转到的年份currentMonth = String.valueOf(month); //得到跳转到的月份currentDay = String.valueOf(day); //得到跳转到的天getCalendar(Integer.parseInt(currentYear),Integer.parseInt(currentMonth));}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn dayNumber.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if(convertView == null){convertView = LayoutInflater.from(context).inflate(yout.calendar_item, null);}TextView textView = (TextView) convertView.findViewById(text);String d = dayNumber[position].split("\\.")[0];String dv = dayNumber[position].split("\\.")[1];SpannableString sp = new SpannableString(d+"\n"+dv);sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, d.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);sp.setSpan(new RelativeSizeSpan(1.2f) , 0, d.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);if(dv != null ||dv != ""){sp.setSpan(new RelativeSizeSpan(0.75f), d.length()+1, dayNumber[position].length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);}// sp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 14, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)textView.setText(sp);textView.setTextColor(Color.GRAY);// if(position<7){// //设置周// textView.setTextColor(Color.WHITE);// textView.setBackgroundColor(color.search_txt_color);// textView.setTextSize(14);// }if (position < daysOfMonth + dayOfWeek && position >= dayOfWeek) {// 当前月信息显示textView.setTextColor(Color.BLACK);// 当月字体设黑drawable = res.getDrawable(R.drawable.current_day_bgc);}if(schDateTagFlag != null && schDateTagFlag.length >0){for(int i = 0; i < schDateTagFlag.length; i++){if(schDateTagFlag[i] == position){//设置日程标记背景textView.setBackgroundResource(R.drawable.mark);}}}if(currentFlag == position){//设置当天的背景drawable = res.getDrawable(R.drawable.current_day_bgc);textView.setBackgroundDrawable(drawable);textView.setTextColor(Color.WHITE);}return convertView;}//得到某年的某月的天数且这月的第一天是星期几public void getCalendar(int year, int month){isLeapyear = sc.isLeapYear(year); //是否为闰年daysOfMonth = sc.getDaysOfMonth(isLeapyear, month); //某月的总天数dayOfWeek = sc.getWeekdayOfMonth(year, month); //某月第一天为星期几lastDaysOfMonth = sc.getDaysOfMonth(isLeapyear, month-1); //上一个月的总天数Log.d("DAY", isLeapyear+" ====== "+daysOfMonth+" ============ "+dayOfWeek+" ========= "+lastDaysOfMonth);getweek(year,month);}//将一个月中的每一天的值添加入数组dayNuber中private void getweek(int year, int month) {int j = 1;int flag = 0;String lunarDay = "";//得到当前月的所有日程日期(这些日期需要标记)for (int i = 0; i < dayNumber.length; i++) {// 周一// if(i<7){// dayNumber[i]=week[i]+"."+" ";// }if(i < dayOfWeek){ //前一个月int temp = lastDaysOfMonth - dayOfWeek+1;lunarDay = lc.getLunarDate(year, month-1, temp+i,false);dayNumber[i] = (temp + i)+"."+lunarDay;}else if(i < daysOfMonth + dayOfWeek){ //本月String day = String.valueOf(i-dayOfWeek+1); //得到的日期lunarDay = lc.getLunarDate(year, month, i-dayOfWeek+1,false);dayNumber[i] = i-dayOfWeek+1+"."+lunarDay;//对于当前月才去标记当前日期if(sys_year.equals(String.valueOf(year)) && sys_month.equals(String.valueOf(month)) && sys_day.equals(day)){//标记当前日期currentFlag = i;}setShowYear(String.valueOf(year));setShowMonth(String.valueOf(month));setAnimalsYear(lc.animalsYear(year));setLeapMonth(lc.leapMonth == 0?"":String.valueOf(lc.leapMonth));setCyclical(lc.cyclical(year));}else{ //下一个月lunarDay = lc.getLunarDate(year, month+1, j,false);dayNumber[i] = j+"."+lunarDay;j++;}}String abc = "";for(int i = 0; i < dayNumber.length; i++){abc = abc+dayNumber[i]+":";}Log.d("DAYNUMBER",abc);}public void matchScheduleDate(int year, int month, int day){}/*** 点击每一个item时返回item中的日期* @param position* @return*/public String getDateByClickItem(int position){return dayNumber[position];}/*** 在点击gridView时,得到这个月中第一天的位置* @return*/public int getStartPositon(){return dayOfWeek+7;/*** 在点击gridView时,得到这个月中最后一天的位置* @return*/public int getEndPosition(){return (dayOfWeek+daysOfMonth+7)-1;}public String getShowYear() {return showYear;}public void setShowYear(String showYear) {this.showYear = showYear;}public String getShowMonth() {return showMonth;}public void setShowMonth(String showMonth) { this.showMonth = showMonth;}public String getAnimalsYear() {return animalsYear;}public void setAnimalsYear(String animalsYear) { this.animalsYear = animalsYear;}public String getLeapMonth() {return leapMonth;}public void setLeapMonth(String leapMonth) {this.leapMonth = leapMonth;}public String getCyclical() {return cyclical;public void setCyclical(String cyclical) {this.cyclical = cyclical;}}import java.util.Calendar;public class SpecialCalendar {private int daysOfMonth = 0; //某月的天数private int dayOfWeek = 0; //具体某一天是星期几// 判断是否为闰年public boolean isLeapYear(int year) {if (year % 100 == 0 && year % 400 == 0) {return true;} else if (year % 100 != 0 && year % 4 == 0) {return true;}return false;}//得到某月有多少天数public int getDaysOfMonth(boolean isLeapyear, int month) { switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:daysOfMonth = 31;break;case 4:case 6:case 9:case 11:daysOfMonth = 30;break;case 2:if (isLeapyear) {daysOfMonth = 29;} else {daysOfMonth = 28;}}return daysOfMonth;}//指定某年中的某月的第一天是星期几public int getWeekdayOfMonth(int year, int month){Calendar cal = Calendar.getInstance();cal.set(year, month-1, 1);dayOfWeek = cal.get(Calendar.DAY_OF_WEEK)-1;return dayOfWeek;}}public class LunarCalendar {private int year; //农历的年份private int month;private int day;private String lunarMonth; //农历的月份private boolean leap;public int leapMonth = 0; //闰的是哪个月final static String chineseNumber[] = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" };static SimpleDateFormat chineseDateFormat = new SimpleDateFormat("yyyy年MM月dd日");final static long[] lunarInfo = new long[] { 0x04bd8, 0x04ae0, 0x0a570,0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2,0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0,0x0ada2, 0x095b0, 0x14977, 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50,0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, 0x06566,0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0,0x1c8d7, 0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4,0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0, 0x0b550,0x15355, 0x04da0, 0x0a5d0, 0x14573, 0x052d0, 0x0a9a8, 0x0e950,0x06aa0, 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260,0x0f263, 0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5, 0x04ad0,0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b5a0, 0x195a6,0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40,0x0af46, 0x0ab60, 0x09570, 0x04af5, 0x04970, 0x064b0, 0x074a3,0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, 0x0c960,0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0,0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9,0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954, 0x06aa0,0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65,0x0d530, 0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0, 0x0a4d0,0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, 0x0b5a0, 0x056d0, 0x055b2,0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0 };//农历部分假日final static String[] lunarHoliday = new String[]{"0101 春节","0115 元宵","0505 端午","0707 七夕情人","0715 中元","0815 中秋","0909 重阳","1208 腊八","1224 小年","0100 除夕"};//公历部分节假日final static String[] solarHoliday = new String[]{"0101 元旦","0214 情人","0308 妇女","0312 植树","0315 消费者权益日","0401 愚人","0501 劳动","0504 青年","0512 护士","0601 儿童","0701 建党","0801 建军","0808 父亲","0909 毛泽东逝世纪念","0910 教师","0928 孔子诞辰","1001 国庆","1006 老人","1024 联合国日","1112 孙中山诞辰纪念","1220 澳门回归纪念","1225 圣诞","1226 毛泽东诞辰纪念" };// ====== 传回农历y年的总天数final private static int yearDays(int y) {int i, sum = 348;for (i = 0x8000; i > 0x8; i >>= 1) {if ((lunarInfo[y - 1900] & i) != 0)sum += 1;}return (sum + leapDays(y));}// ====== 传回农历y年闰月的天数final private static int leapDays(int y) {if (leapMonth(y) != 0) {if ((lunarInfo[y - 1900] & 0x10000) != 0)return 30;elsereturn 29;} elsereturn 0;}// ====== 传回农历y年闰哪个月1-12 , 没闰传回0final private static int leapMonth(int y) {return (int) (lunarInfo[y - 1900] & 0xf);}// ====== 传回农历y年m月的总天数final private static int monthDays(int y, int m) {if ((lunarInfo[y - 1900] & (0x10000 >> m)) == 0)return 29;elsereturn 30;}// ====== 传回农历y年的生肖final public String animalsYear(int year) {final String[] Animals = new String[] { "鼠", "牛", "虎", "兔", "龙", "蛇","马", "羊", "猴", "鸡", "狗", "猪" };return Animals[(year - 4) % 12];}// ====== 传入月日的offset 传回干支, 0=甲子final private static String cyclicalm(int num) {final String[] Gan = new String[] { "甲", "乙", "丙", "丁", "戊", "己", "庚","辛", "壬", "癸" };final String[] Zhi = new String[] { "子", "丑", "寅", "卯", "辰", "巳", "午","未", "申", "酉", "戌", "亥" };return (Gan[num % 10] + Zhi[num % 12]);}// ====== 传入offset 传回干支, 0=甲子final public String cyclical(int year) {int num = year - 1900 + 36;return (cyclicalm(num));}public static String getChinaDayString(int day) {String chineseTen[] = { "初", "十", "廿", "卅" };int n = day % 10 == 0 ? 9 : day % 10 - 1;if (day > 30)return "";if (day == 10)return "初十";elsereturn chineseTen[day / 10] + chineseNumber[n];}/** *//*** 传出y年m月d日对应的农历. yearCyl3:农历年与1864的相差数? monCyl4:从1900年1月31日以来,闰月数* dayCyl5:与1900年1月31日相差的天数,再加40 ?** isday: 这个参数为false---日期为节假日时,阴历日期就返回节假日,true---不管日期是否为节假日依然返回这天对应的阴历日期* @param cal* @return*/public String getLunarDate(int year_log, int month_log, int day_log, boolean isday) {// @SuppressWarnings("unused")int yearCyl, monCyl, dayCyl;//int leapMonth = 0;String nowadays;Date baseDate = null;Date nowaday = null;try {baseDate = chineseDateFormat.parse("1900年1月31日");} catch (ParseException e) {e.printStackTrace(); // To change body of catch statement use// Options | File Templates.}nowadays = year_log + "年" + month_log + "月" + day_log + "日";try {nowaday = chineseDateFormat.parse(nowadays);} catch (ParseException e) {e.printStackTrace(); // To change body of catch statement use// Options | File Templates.}// 求出和1900年1月31日相差的天数int offset = (int) ((nowaday.getTime() - baseDate.getTime()) / 86400000L); dayCyl = offset + 40;monCyl = 14;// 用offset减去每农历年的天数// 计算当天是农历第几天// i最终结果是农历的年份// offset是当年的第几天int iYear, daysOfYear = 0;for (iYear = 1900; iYear < 10000 && offset > 0; iYear++) {daysOfYear = yearDays(iYear);offset -= daysOfYear;monCyl += 12;}if (offset < 0) {offset += daysOfYear;iYear--;monCyl -= 12;}// 农历年份year = iYear;setYear(year); //设置公历对应的农历年份yearCyl = iYear - 1864;leapMonth = leapMonth(iYear); // 闰哪个月,1-12leap = false;// 用当年的天数offset,逐个减去每月(农历)的天数,求出当天是本月的第几天int iMonth, daysOfMonth = 0;for (iMonth = 1; iMonth < 13 && offset > 0; iMonth++) {// 闰月if (leapMonth > 0 && iMonth == (leapMonth + 1) && !leap) {--iMonth;leap = true;daysOfMonth = leapDays(year);} elsedaysOfMonth = monthDays(year, iMonth);offset -= daysOfMonth;// 解除闰月if (leap && iMonth == (leapMonth + 1))leap = false;if (!leap)monCyl++;}// offset为0时,并且刚才计算的月份是闰月,要校正if (offset == 0 && leapMonth > 0 && iMonth == leapMonth + 1) {if (leap) {leap = false;} else {leap = true;--iMonth;--monCyl;}}// offset小于0时,也要校正if (offset < 0) {offset += daysOfMonth;--iMonth;--monCyl;}month = iMonth;setLunarMonth(chineseNumber[month - 1] + "月"); //设置对应的阴历月份day = offset + 1;if(!isday){//如果日期为节假日则阴历日期则返回节假日//setLeapMonth(leapMonth);for(int i = 0; i < solarHoliday.length; i++){//返回公历节假日名称String sd = solarHoliday[i].split(" ")[0]; //节假日的日期String sdv = solarHoliday[i].split(" ")[1]; //节假日的名称String smonth_v = month_log+"";String sday_v = day_log+"";String smd = "";if(month_log < 10){smonth_v = "0"+month_log;}if(day_log < 10){sday_v = "0"+day_log;}smd = smonth_v+sday_v;if(sd.trim().equals(smd.trim())){return sdv;}}for(int i = 0; i < lunarHoliday.length; i++){//返回农历节假日名称String ld =lunarHoliday[i].split(" ")[0]; //节假日的日期String ldv = lunarHoliday[i].split(" ")[1]; //节假日的名称String lmonth_v = month+"";String lday_v = day+"";String lmd = "";if(month < 10){lmonth_v = "0"+month;}if(day < 10){lday_v = "0"+day;}lmd = lmonth_v+lday_v;if(ld.trim().equals(lmd.trim())){return ldv;}}}if (day == 1)return chineseNumber[month - 1] + "月";elsereturn getChinaDayString(day);}public String toString() {if (chineseNumber[month - 1] == "一" && getChinaDayString(day) == "初一") return "农历" + year + "年";else if (getChinaDayString(day) == "初一")return chineseNumber[month - 1] + "月";elsereturn getChinaDayString(day);// return year + "年" + (leap ? "闰" : "") + chineseNumber[month - 1] +// "月" + getChinaDayString(day);}/*public static void main(String[] args) {System.out.println(new LunarCalendar().getLunarDate(2012, 1, 23));}*/public int getLeapMonth() {return leapMonth;}public void setLeapMonth(int leapMonth) {this.leapMonth = leapMonth;}/*** 得到当前日期对应的阴历月份* @return*/public String getLunarMonth() {return lunarMonth;}public void setLunarMonth(String lunarMonth) {this.lunarMonth = lunarMonth;}/*** 得到当前年对应的农历年份* @return*/public int getYear() {return year;}public void setYear(int year) {this.year = year;}}//关于日历实现代码里0x04bd8, 0x04ae0, 0x0a570的解释:/onlyonecoder/article/details/8484118///*** 日历显示activity***/public class CalendarActivity extends Activity implements OnGestureListener {private GestureDetector gestureDetector = null;private CalendarAdapter calV = null;private GridView gridView = null;private TextView topText = null;private static int jumpMonth = 0; //每次滑动,增加或减去一个月,默认为0(即显示当前月)private static int jumpYear = 0; //滑动跨越一年,则增加或者减去一年,默认为0(即当前年)private int year_c = 0;private int month_c = 0;private int day_c = 0;private String currentDate = "";private Bundle bd=null;//发送参数private Bundle bun=null;//接收参数private String ruzhuTime;private String lidianTime;private String state="";public CalendarActivity() {Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");currentDate = sdf.format(date); //当期日期year_c = Integer.parseInt(currentDate.split("-")[0]);month_c = Integer.parseInt(currentDate.split("-")[1]);day_c = Integer.parseInt(currentDate.split("-")[2]);}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ActivityList.activityList.add(this);setContentView(yout.calendar);bd=new Bundle();//outbun=getIntent().getExtras();//inif(bun!=null&&bun.getString("state").equals("ruzhu")){state=bun.getString("state");System.out.println("%%%%%%"+state);}else if(bun!=null&&bun.getString("state").equals("lidian")){state=bun.getString("state");System.out.println("|||||||||||"+state);}gestureDetector = new GestureDetector(this);// bd=new Bundle();calV = new CalendarAdapter(this,getResources(),jumpMonth,jumpYear,year_c,month_c,day_c);addGridView();gridView.setAdapter(calV);topText = (TextView) findViewById(_month);addTextToTopTextView(topText);}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {int gvFlag = 0; //每次添加gridview到viewflipper中时给的标记if (e1.getX() - e2.getX() > 120) {//像左滑动addGridView(); //添加一个gridViewjumpMonth++; //下一个月calV = new。