午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

android - recyclerview刷新問題

瀏覽:253日期:2024-08-13 18:20:48

問題描述

創建了一個recyclerview用來設置個人信息。如下圖:android - recyclerview刷新問題

然后點擊之后,會提示,如下圖:android - recyclerview刷新問題

選擇完成之后,用戶選擇確定或者取消重選,如下圖:android - recyclerview刷新問題

在選擇確定后,就返回recyclerview了,那這個改如何更新?(圖片是xml文件里默認值,應該怎樣更新成用戶選的?)

問題解答

回答1:

已經解決。一開始想找找不使用更換數據集數據的形式來刷新recyclerview。但是最后發現貌似沒有別的辦法了。所以新建了一個數據集的類(很普通的,數據內容,set,get方法)。在調用recyclerview的activity里初始化數據。因為我是在調用了系統相機后返回的活動。所以在活動中新建了一個方法,用來讓上方圖中確定界面的活動調用。用來通知recyclerview的adapter這個item的數據更新了。在adapter中:

mData.get(1).setAvatarUri(photoFile); mData.get(1).setType(2); notifyItemChanged(1);

嗯,跟網上的一模一樣。(希望有其他方法的大佬能回答一下,給我個思路)

回答2:

你想的太復雜了,使用recyclerview有點兒殺雞用牛刀了,還要多寫很多的代碼,直接使用TextView就可以了,點擊確定按鈕,直接設置圖片,多簡單啊。xml中:

<TextViewandroid:drawableRight='@drawable/avatar'android:drawablePadding='10dp'android:paddingLeft='10dp'android:paddingRight='10dp'android:textSize='16sp'android:text='頭像'android:background='@color/white'android:gravity='center_vertical'android:layout_width='match_parent'android:layout_height='50dp' />

在點擊確定按鈕后,使用:setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)來設置新的頭像

回答3:

有幾種方案可以參考,我司app做這種業務的也是這么一步一步過來的

使用startActivityForResult(),圖片選擇結束后同將uri和position傳給上一個activity,然后根據該position改變數據中的uri,刷新數據

使用廣播,自定義一個可以接收uri和position的廣播,在列表頁注冊,選擇完圖片后發送廣播,之后操作同上

使用事件總線,我們選用的是EventBus,列表頁注冊Event,選擇完圖片后發送對應消息即可

我們最開始使用startActivityForResult和廣播主要為了不用引入第三方庫,同時兩個頁面互相不直接調用也減小了耦合,但隨著后期類似業務越來越多,比如詳情頁點擊收藏、添加評論,列表頁要刷新評論數和收藏數...使用這兩種方法會越來越多的冗余代碼,所以我們引入了EventBus,既減少了代碼量,又增加了代碼可讀性,減小了代碼耦合,而且這個庫還是挺小的,也容易上手,推薦題主直接使用這個庫

相關文章:
主站蜘蛛池模板: 一区二区影院 | 亚洲h片 | 在线观看中文字幕网站 | 久久久高清 | av一区二区三区 | 亚洲福利在线播放 | 国产免费不卡 | 日韩字幕在线 | 精品国产乱码久久久久久88av | 免费av在| 黄色成人小视频 | 免费成人在线网站 | 天天伊人网| 国产情侣在线视频 | 男人的天堂va | 99久久精品国产一区二区三区 | 国产精品99久久久久久www | 国产第五页 | 日韩欧美精品一区 | 日韩一区二区三区视频在线观看 | 国产精品爽 | 超碰在线免费观看97 | 一级片大全 | 久久8| 亚洲综合天堂 | 免费观看成年人视频 | 中文在线字幕av | 男人激情网 | 免费在线观看日韩av | 久久久久久久一区二区三区 | 中文字幕影音先锋 | 婷婷超碰 | 综合网久久| 日韩高清国产一区在线 | 999成人网 | 午夜精品二区 | 日本久久高清视频 | 国产中文av在线 | 欧美精品一区二区三区视频 | 日韩欧美亚洲精品 | 国产激情福利 |