AndroidStdio 关于课程表的小项目,2021Android高级面试题汇总解答

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值