Do-Now—團隊Scrum 衝刺部落格五
各個成員今日完成的任務
- 侯澤洋: 每日任務頁面編寫,任務修改功能
:完成獎勵從雲端拉取到本地 - 周亞傑:完成個人中心頁面設計,登入介面美化:註冊登入介面美化
- 王志偉:完成倒計時功能,並對頁面進行優化:新增倒計時功能
- 仇夏:燃盡圖設計,登入註冊介面設計
- 唐才銘:完成登入頁動畫設計,並進行引導頁設計
專案燃盡圖
站立式會議照片
各個成員遇到的問題
侯澤洋
- 問題1:解決分數新增問題,同時編寫每週任務頁面。
- 解決方案:參考部落格: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錯誤
唐才銘
- 遇到的問題:實現動畫時堆記憶體溢位。
解決:Animation實現的幀動畫需要大量的圖片素材,導致記憶體佔用過多
王志偉
尋找R檔案
關於在ViewPager的子頁面中不能跳轉的問題
明日各個成員的任務安排
- 侯澤洋:解決分數新增問題,同時編寫每週任務頁面
- 周亞傑:個人中心頁面再優化及其邏輯程式碼的編寫及部落格編寫
- 王志偉:頁面跳轉,任務頁面設計
- 仇夏:樹苗成長過程設計及資料庫內容學習、使用
- 唐才銘:進行樹苗功能的開發,及引導頁程式碼優化上傳
各個成員今日對專案的貢獻量
- 侯澤洋:3.5
- 周亞傑:3
- 王志偉:3
- 仇夏:3
唐才銘:3
由於CET4及CET6,該部落格暫未完善。