各个成员今日完成的任务
- 侯泽洋:完成奖励页面设计,完成奖励从云端拉取到本地:完成奖励从云端拉取到本地
- 周亚杰:完成个人中心页面设计,登录界面美化:注册登录界面美化
- 王志伟:完成倒计时功能,并对页面进行优化:添加倒计时功能
- 仇夏:燃尽图设计,登录注册界面设计
- 唐才铭:完成登录页动画设计,并进行引导页设计
项目燃尽图
站立式会议照片
各个成员遇到的问题
侯泽洋
- 问题1:Recycleview添加点击事件,参考网上博客进行编写。
- 解决方案:参考博客:RecyclerView的item点击事件和长按事件
(1):在适配器里写好接口并进行回调
//define interface
public interface OnRecyclerViewItemClickListener {
void onItemClick(View view, int data);
}
public interface OnRecyclerItemLongListener{
void onItemLongClick(View view,int position);
}
public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {
this.mOnItemClickListener = listener;
}
public void setOnItemLongClickListener(OnRecyclerItemLongListener listener){
this.mOnItemLong = listener;
}
(2)在ViewHolder中实现接口并重写方法
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
//注意这里使用getTag方法获取数据
mOnItemClickListener.onItemClick(v, getAdapterPosition());
}
}
@Override
public boolean onLongClick(View v) {
if(mOnItemLong != null){
mOnItemLong.onItemLongClick(v,getPosition());
}
return true;
}
(3)在活动实现这两个方法
adapter.setOnItemClickListener(new AlarmPresetAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int data) {
T.showShort(context, "点击了");
}
});
adapter.setOnItemLongClickListener(new AlarmPresetAdapter.OnRecyclerItemLongListener() {
@Override
public void onItemLongClick(View view, int position) {
T.showShort(context, "长按了");
}
});
- 问题2:getPosition()方法变红,getAdapterPosition()是什么意思,为什么时触发非Toast事件时会没有响应?
- 解决方案:参考博客:Recyclerview.getLayoutPosition()问题
使用了ViewHolder的getLayoutPosition方法,此方法返回的pos值与onBindViewHolder方法传入的position值有可能不同。
根据SDK中的解释,在Recyclerview 进行添加、移除item等操作时,position位置可能会变化,而所有的adapter的刷新并不总是及时的,只有这个方法返回的才是当前item经过一些变换后所处的真正位置。
getPosition()方法已过时,getAdapterPosition()方法的刷新不够及时,使用时可能会出错,而使用getLayoutPosition()方法则没有这种顾虑,最终在两个onclick方法都使用了getLayoutPosition()方法,解决问题。
周亚杰
- 问题:界面的属性、控件完成设计 主活动代码却无法调用编写好的drawable下xml文件,无法正常显示界面,并且R文件会报红不能用。
- 解决方案:将控件、属性单独写成布局文件放在layout下,在主布局文件中用include调用
仇夏
问题记录及解决过程:
为了完成好需求规格说明书,我们在码云上新建了一个项目,然后想要将它和自己的Android Studio连上。在这个过程中我遭遇到了不少的问题。
首先,不太记得如何连接码云的我先上百度找来了一个教程,挺详细的,AndroidStudio新建项目推送到码云上。我跟着这个教程一步步的去实现。
然后我确实出现了如教程中一样的结果。
但之后遇到的问题就不是如此,我在终端输入命令行,但一直出现错误
之后,我向队友寻求帮助。
先
结果出现了超时的问题,就是使用git clone重新checkout源也受到影响,长时间checkout不出来。
然后找了一个很好的解决方法。
解决Gitlab的The remote end hung up unexpectedly错误
唐才铭
- 遇到的问题:启动页面白屏
解决:合并功能时误删了 setContentView(R.layout.activity_splash);,补上之后即可。
王志伟
明日各个成员的任务安排
- 侯泽洋:完成数据的修改功能,及每日任务页面的设计及代码编写
- 周亚杰:个人中心页面再优化及其逻辑代码的编写及博客编写
- 王志伟:页面跳转,任务页面设计
- 仇夏:树苗成长过程设计及数据库内容学习、使用
- 唐才铭:进行树苗功能的开发,及引导页代码优化上传
各个成员今日对项目的贡献量
- 侯泽洋:4
- 周亚杰:4
- 王志伟:3
- 仇夏:3
- 唐才铭:4