java日历事件处理_日历表的事件处理和管理(刘静)

1 //添加gridview,显示具体的日期

2 @SuppressLint("ResourceAsColor")3 private voidaddGridView() {4 LinearLayout.LayoutParams params = newLinearLayout.LayoutParams(5 LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);6 //取得屏幕的宽度和高度

7 WindowManager windowManager =getWindowManager();8 Display display =windowManager.getDefaultDisplay();9 int Width =display.getWidth();10 int Height =display.getHeight();11

12 Log.d(Tag, "屏幕分辨率=="+"height*weight"+Height+Width);13

14 gridView = new GridView(this);15 gridView.setNumColumns(7);16 gridView.setColumnWidth(46);17 if(Width == 480 && Height == 800){18 gridView.setColumnWidth(69);19 }else if(Width==800&&Height==1280){20 gridView.setColumnWidth(69);21 }22

23

24 gridView.setGravity(Gravity.CENTER_VERTICAL);25 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); //去除gridView边框

26 gridView.setVerticalSpacing(1);27 gridView.setHorizontalSpacing(1);28 gridView.setBackgroundResource(R.drawable.gridview_bk);29 gridView.setOnTouchListener(newOnTouchListener() {30 //将gridview中的触摸事件回传给gestureDetector

31

32 public booleanonTouch(View v, MotionEvent event) {33 //TODO Auto-generated method stub

34 return CalendarActivity.this.gestureDetector35 .onTouchEvent(event);36 }37 });38

39

40 gridView.setOnItemClickListener(newOnItemClickListener() {41 //gridView中的每一个item的点击事件

42

43 public void onItemClick(AdapterView> arg0, View arg1, intposition,44 longarg3) {45 //点击任何一个item,得到这个item的日期(排除点击的是周日到周六(点击不响应))

46 int startPosition =calV.getStartPositon();47 int endPosition =calV.getEndPosition();48 if(startPosition <= position && position <=endPosition){49 String scheduleDay = calV.getDateByClickItem(position).split("\\.")[0]; //这一天的阳历50 //String scheduleLunarDay = calV.getDateByClickItem(position).split("\\.")[1];//这一天的阴历

51 String scheduleYear =calV.getShowYear();52 String scheduleMonth =calV.getShowMonth();53 String week = "";54

55 Log.i("日程历史浏览", scheduleDay);56

57 //通过日期查询这一天是否被标记,如果标记了日程就查询出这天的所有日程信息

58 scheduleIDs =dao.getScheduleByTagDate(Integer.parseInt(scheduleYear)59 , Integer.parseInt(scheduleMonth), Integer.parseInt(scheduleDay));60

61 //得到这一天是星期几

62 switch(position%7){63 case 0:64 week = "星期日";65 break;66 case 1:67 week = "星期一";68 break;69 case 2:70 week = "星期二";71 break;72 case 3:73 week = "星期三";74 break;75 case 4:76 week = "星期四";77 break;78 case 5:79 week = "星期五";80 break;81 case 6:82 week = "星期六";83 break;84 }85

86 scheduleDate = new ArrayList();87 scheduleDate.add(scheduleYear);88 scheduleDate.add(scheduleMonth);89 scheduleDate.add(scheduleDay);90 scheduleDate.add(week);91

92

93 LayoutInflater inflater=getLayoutInflater();94 View linearlayout= inflater.inflate(R.layout.schedule_detail, null);95 add=(Button)linearlayout.findViewById(R.id.btn_add);96 quit=(Button) linearlayout.findViewById(R.id.btn_back);97 day_tv=(TextView) linearlayout.findViewById(R.id.todayDate);98 launarDay=(TextView)linearlayout.findViewById(R.id.tv_launar);99 schdule_tip=(com.dream.tdzhushou.base.BorderTextView)linearlayout.findViewById(R.id.schdule_tip);100 listView=(ListView)linearlayout.findViewById(R.id.schedulelist1);101 //星期

102 weekday=(TextView)linearlayout.findViewById(R.id.dayofweek);103 //农历日期

104 lunarTime=(TextView)linearlayout.findViewById(R.id.lunarTime);105 list=(ListView)linearlayout.findViewById(R.id.schedulelist1);106

107 dateInfo=scheduleYear+"年"+scheduleMonth+"月"+scheduleDay+"日";108 //添加农历信息

109 String scheduleLunarDay =getLunarDay(Integer.parseInt(scheduleYear),110 Integer.parseInt(scheduleMonth), Integer.parseInt(scheduleDay));111

112 Log.i("LunarDay", scheduleLunarDay);113 //设置选中的日期的阳历,星期和农历信息

114 day_tv.setText(dateInfo);115 weekday.setText(week);116 addLunarDayInfo(lunarTime);117 launarDay.setText( scheduleLunarDay);118

119 Log.i("scheduleDate", "scheduleDate的所有信息:"+scheduleDate);120 //添加日程按钮121 //TableLayout dialog_tab=(TableLayout) linearlayout.findViewById(R.id.dialog_tab);

122 add.setOnClickListener(newOnClickListener() {123

124 public voidonClick(View v) {125 //TODO Auto-generated method stub

126 if(builder!=null&&builder.isShowing()){127 builder.dismiss();128 Intent intent = newIntent();129 intent.putStringArrayListExtra("scheduleDate", scheduleDate);130 intent.setClass(CalendarActivity.this, ScheduleViewAddActivity.class);131 startActivity(intent);132 }133 }134 });135 //返回按钮

136 quit.setOnClickListener(newOnClickListener() {137

138 public voidonClick(View v) {139 //TODO Auto-generated method stub

140 if(builder!=null&&builder.isShowing()){141 builder.dismiss();142 }143 }144 });145

146 //如果被标记,则加载相应的日程信息列表

147 if(scheduleIDs != null && scheduleIDs.length > 0){148

149

150 //list.setAdapter(new MyAdapter());

151 View inflate=getLayoutInflater().inflate(R.layout.schedule_detail_item, null);152 //通过arraylist绑定数据导listview中去

153 ArrayList> Data = new ArrayList>();154 ScheduleDAO dao=new ScheduleDAO(CalendarActivity.this);155 String time="";156 String content="";157 for(int i=0;i

162 time=dateInfo+" "+scheduleVO.getTime();163 content=scheduleVO.getScheduleContent();164

165

166

167 HashMap map=new HashMap();168 map.put("date", time);169 map.put("content", content);170 Data.add(map);171

172 }173 String from[]={"date","content"};174 int to[]={R.id.itemTime,R.id.itemContent};175

176 SimpleAdapter adapter=new SimpleAdapter(CalendarActivity.this, Data, R.layout.schedule_detail_item, from, to);177

178 list.setAdapter(adapter);179

180 //点击list的item相应事件181 //list.setOnClickListener(CalendarActivity.this);182 //list.setOnLongClickListener(CalendarActivity.this);

183

184

185 }else{ //如果没有标记位直接则跟换为“暂无安排”

186

187

188 schdule_tip.setText("暂无安排");189 listView.setVisibility(View.INVISIBLE);190

191

192 }193

194 builder = new Dialog(CalendarActivity.this,R.style.FullScreenDialog);195 builder.setContentView(linearlayout);196 WindowManager windowManager =getWindowManager();197 Display display =windowManager.getDefaultDisplay();198 WindowManager.LayoutParams lp =builder.getWindow().getAttributes();199 lp.width = (int)(display.getWidth()); //设置宽度

200 lp.height=display.getHeight();201 builder.getWindow().setAttributes(lp);202 builder.setCanceledOnTouchOutside(true);203 builder.show();204

205 list.setOnItemClickListener(newOnItemClickListener() {206

207 @Override208 public void onItemClick(AdapterView>adapterview,209 View view, int position, longid) {210

211

212 Log.i("日程item点击", "第"+position+"个item");213 Intent intent=newIntent();214

215 if(view!=null){216

217 HashMap map=(HashMap) adapterview.getItemAtPosition(position);218

219 ScheduleVO scheduleVO= (ScheduleVO) view.getTag();//

220 Log.i("scheduleVo", "scheduleVO的值="+scheduleVO);221

222 if(scheduleDate!=null){223 //intent.putStringArrayListExtra("scheduleDate", scheduleDate);

224 intent.setClass(CalendarActivity.this,ScheduleInfoDetailActivity.class);225 intent.putStringArrayListExtra("scheduleDate", scheduleDate);226 intent.putExtra("scheduleVO", scheduleVO);227

228 Log.i("scheduleVo", "往intent存放的值"+scheduleVO);229 startActivity(intent);230

231 }232 }233

234 }235 });236 }237 }238 });239 gridView.setLayoutParams(params);240 }241

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java第四次上机作业_第十java上机作业

第十java上机作业 第七章上级作业 7.1 public class Rectangle { double width1; double height1; String color“white“; public Rectangle(){} public Rectangle(double width,double height,String color) { this.widthwidth; this.heightheight; this.colorcolor; } publi…

java解析带斜杠的参数_Java Spring MVC应用程序仅接受带有斜杠的POST请求

war文件名是forms.war。 web.xml中的url模式为"/"控制器操作的RequestMapping为"/"如果遇到localhost&#xff1a;8080 /表单&#xff0c;则RequestMethod.GET操作正常工作如果针对localhost:8080/forms点击发布数据&#xff0c;则不会触发RequestMethod.P…

java文件编码格式环境变量_Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8...

一切都是windows的控制台默认编码GBK问题情景&#xff1a;使用jenkins构建&#xff0c;console 输出的中文乱码。代码编码格式是utf-8&#xff0c;因为Jenkins会默认读取当前系统的编码格式&#xff0c;导致构建日志乱码和selenium自动化测试输入的中文乱码。控制台输出乱码摸索…

http multipart java_Http MultiPart请求

我正在尝试使用httpClient库上传图像(多部分/表单数据) . 我可以使用httpPost方法和byteArrayRequestEntity上传图像 . 以下是我使用的代码&#xff1a;File file new File(imageFilePath);HttpClient client new HttpClient();PostMethod method new PostMethod("http…

java分布式会话redis_详解springboot中redis的使用和分布式session共享问题

对于分布式使用NginxTomcat实现负载均衡&#xff0c;最常用的均衡算法有IP_Hash、轮训、根据权重、随机等。不管对于哪一种负载均衡算法&#xff0c;由于Nginx对不同的请求分发到某一个Tomcat&#xff0c;Tomcat在运行的时候分别是不同的容器里&#xff0c;因此会出现session不…

python3.8使用方法_python3.8新特性

python3.8新特性Python3.8稳定版已发布&#xff0c;官网发布了一篇介绍新特性的文章&#xff0c;在此记录一下。新增赋值操作符:作用&#xff1a;把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿&#xff0c;: 操作符有个特别的名字&#xff1a;海象操作符范例…

java责任链设计模式 订单_Java责任链设计模式实例分析

本文实例讲述了Java责任链设计模式。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一 代码abstract class AbstractHandler {private Handler Handler null;// 持有责任链中下一个责任处理者的引用public void setHandler( Handler handler ) {this.Handler handler…

java map去重复的数据_使用HashMap去重复数据.

因为HashMap是键值对形式&#xff0c;所以一个键只对应一个Value&#xff0c;利用这个原理&#xff0c;我们就可以根据某列重复数据做键对重复数据进行处理啦~首先先看看我要处理 的数据然后我最后想要的结果&#xff1a;需求&#xff1a;根据groupName每个分组信息只显示一条数…

centos6.5 MySQL 服务器_启用CentOS6.5 64位安装时自带的MySQL数据库服务器

本人在虚拟机上又安装了一台linux机器&#xff0c;作为MySQL数据库服务器用&#xff0c;在安装时选择了系统自带的MySQL服务器端&#xff0c;以下是启用步骤。首先开启mysqld服务#service mysqld start进入/usr/bin目录#cd /usr/bin设定mysql数据库root用户的密码#mysqladmin -…

java xml date_W3C XML 模式时间数据类型与java Date进行转换

W3C XML 模式时间数据格式:"2014-11-17T 09:40:25" 或者 “2014-11-17T 09:40:2508:00”要想把以上格式的时间转换为能被java所使用个格式有以下3种办法&#xff1a;(1)、jdk中有这么一个类XMLGregorianCalendar&#xff0c;使用XMLGregorianCalendar类中的toGreGreg…

PHP stomp 连接判断,php实现通过stomp协议连接ActiveMQ操作示例

本文实例讲述了php实现通过stomp协议连接ActiveMQ操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;前面介绍了php ActiveMQ的安装与使用&#xff0c;这里再来讲述一下php通过stomp协议连接ActiveMQ。一、安装php的stomp扩展http://pecl.php.net/package/stomp如&am…

authinfo.php,【nginxphp】后台权限认证方式

一、最常用的方法(代码中限制)1、如何限制IPfunction get_new_ip(){if(getenv(HTTP_CLIENT_IP)) {$onlineip getenv(HTTP_CLIENT_IP);} elseif(getenv(HTTP_X_FORWARDED_FOR)) {$onlineip getenv(HTTP_X_FORWARDED_FOR);} elseif(getenv(REMOTE_ADDR)) {$onlineip getenv(RE…

php数组无限文类,php把无限级分类生成数组的类

你是否遇到需要把无限级分类循环出来&#xff0c;是不是很头痛。比如&#xff0c;要循环出一个SELECT,或一个TABLE&#xff0c;要写一大堆判断。我的做法是生成数组&#xff0c;可以重复调用&#xff0c;直接循环数组就行了。为了方便&#xff0c;把它写成了类&#xff1a;clas…

php sql取数据生成数组中,php中实现数组生成要执行的sql语句

本篇文章主要介绍php中实现数组生成要执行的sql语句&#xff0c;感兴趣的朋友参考下&#xff0c;希望对大家有所帮助。会不会碰到这样一种情况呢&#xff1f;每次获取数据将数据和历史版本都有一定的差别&#xff0c;然而用ThinkPHP的addAll()函数&#xff0c;却会将已有的数据…

xss漏洞php注射实战,利用XSS渗透DISCUZ 6.1.0实战

论坛——>入侵者布置的跨站攻击——>转移被入侵这视线(隐蔽)论坛插入脚本&#xff1a;var img new Image();img.src get_cookie.php?var encodeURI(document.cookie);但是我不一样&#xff0c;因为他需要诱导人去点击他的链接&#xff0c;但是现在人不是傻子&#xf…

java模块化按需加载,JavaScript模块化之使用requireJS按需加载

模块加载器的概念可能稍微接触过前端开发的童鞋都不会陌生&#xff0c;通过模块加载器可以有效的解决这些问题&#xff1a;JS文件的依赖关系。通过异步加载优化script标签引起的阻塞问题可以简单的以文件为单位将功能模块化并实现复用主流的JS模块加载器有requireJS&#xff0c…

宇轩网络面试题目PHP,二十道接地气的php面试题,让你直接通过面试!就此奉上~...

1、echo count(“abc”); 输出什么&#xff1f;答&#xff1a;"1"count— 计算数组中的单元数目或对象中的属性个数int count ( mixed var\[,intvar \[, intvar\[,intmode ] ), 如果 var 不是数组类型或者实现了 Countable 接口的对象&#xff0c;将返回 1&#xff0…

java期末试题c卷,JAVA程序设计期末考试试卷及参考答案

《JAVA程序设计》期末考试试卷考生注意&#xff1a;1&#xff0e;本试卷满分100分。2&#xff0e;考试时间90分钟。3&#xff0e;卷面整洁&#xff0c;字迹工整。4&#xff0e;填写内容不得超出密封线。总分题号一二三四五六核分人题分21204019复查人得分一、单选择题(每题2分&…

mysql 分组查询原理,MySQL分組查詢Group By實現原理詳解

由於GROUP BY 實際上也同樣會進行排序操作&#xff0c;而且與ORDER BY 相比&#xff0c;GROUP BY 主要只是多了排序之后的分組操作。當然&#xff0c;如果在分組的時候還使用了其他的一些聚合函數&#xff0c;那么還需要一些聚合函數的計算。所以&#xff0c;在GROUP BY 的實現…

mysql 执行计划详解,Mysql中的explain执行计划详解(1)

创建一个表test_explain&#xff0c;并添加入下的数据mysql> create table test_explain( a int primary key, b int);Query OK, 0 rows affected (0.09 sec)mysql> insert into test_explain value(1,1),(2,2),(3,3),(4,4),(5,5);explian中的type字段&#xff1a;表示m…