break;
case 1:
a=“Dota”;
break;
}
updateListView(new String[]{“tip”,“time”},new String[]{“主题风格”,a},position);
sd.updateValue(“Data”,“3-4”,which+"");
dialog.dismiss();
}
}).show();
}
//更新界面
private void updateListView(String[] strings, String[] strings1, int position) {
//往listview上更新信息使用map对list更新数据
Map<String,Object> map =new HashMap<String,Object>();
for(int i=0;i<strings.length;i++){
map.put(strings[i],strings1[i]);
}
list.set(position,map);
adapter.notifyDataSetChanged(); //list更新后的绑定操作,是对item的强制刷新
}
在SetTime页面中点击“下一步”,来到SetDay界面,注意要在MainFest文件中添加新的有布局文件的类,SetDay页面布局如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uqpozQZ6-1587976582895)(https://img-blog.csdn.net/20171216204159286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmlra2F0aGV3b3JsZA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
SetDay页面有个功能,就是可以通过左滑和右滑来转到下一天或前一天
主要是实现了接口 OnTouchListener和OnGestureListener
重写onFling和onTouch方法实现左滑右滑实现页面变化如下:
//其中e1.getX()为滑动的前一个点,e2.getX()为后一个点
//velocityX()为滑动的速度,单位大概是像素每单位时间,可能为负数所以用的时候要加一个abs
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//左滑动
if(e1.getX()-e2.getX()>100&&Math.abs(velocityX)>200){
setWeek(week+1);
tiptext.setText(weektip);
}
//右滑动
if(e2.getX()-e1.getX()>100&&Math.abs(velocityX)>200){
setWeek(week-1);
tiptext.setText(weektip);
}
return false;
}
public boolean onTouch(View v, MotionEvent event) {
return mGestureDetector.onTouchEvent(event);
}
别的代码就是实现给ListView配置适配器,然后页面本来是什么都没有的,我们要通过点击某节课来设置上课信息,跳转到SetClass页面,从SetClass页面设置完以后回到SetDay页面,这里用到了数据的传送,是android特别常见并且实用的一个方法,下面是一些代码:
//初始化listview数据
private void getDate(String day) {
list.clear();
ArrayList classlist=new ArrayList();
Cursor c=sd.getWeekValue(day);
while (c.moveToNext()){
classlist