1. 程式人生 > >Do-Now—團隊Scrum 沖刺博客——第二天

Do-Now—團隊Scrum 沖刺博客——第二天

new face public 目的 ext bool toast 連接 問題

各個成員今日完成的任務

  • 侯澤洋:完成獎勵頁面設計,完成獎勵從雲端拉取到本地:完成獎勵從雲端拉取到本地
  • 周亞傑:完成個人中心頁面設計,登錄界面美化:註冊登錄界面美化
  • 王誌偉:完成倒計時功能,並對頁面進行優化:添加倒計時功能
  • 仇夏:燃盡圖設計,登錄註冊界面設計
  • 唐才銘:完成登錄頁動畫設計,並進行引導頁設計

項目燃盡圖

技術分享圖片

技術分享圖片

站立式會議照片

各個成員遇到的問題

侯澤洋

  • 問題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);,補上之後即可。

王誌偉

尋找R文件
關於在ViewPager的子頁面中不能跳轉的問題

明日各個成員的任務安排

  • 侯澤洋:完成數據的修改功能,及每日任務頁面的設計及代碼編寫
  • 周亞傑:個人中心頁面再優化及其邏輯代碼的編寫及博客編寫
  • 王誌偉:頁面跳轉,任務頁面設計
  • 仇夏:樹苗成長過程設計及數據庫內容學習、使用
  • 唐才銘:進行樹苗功能的開發,及引導頁代碼優化上傳

各個成員今日對項目的貢獻量

  • 侯澤洋:4
  • 周亞傑:4
  • 王誌偉:3
  • 仇夏:3
  • 唐才銘:4

Do-Now—團隊Scrum 沖刺博客——第二天