Android 中解決Viewpage調(diào)用notifyDataSetChanged()時(shí)界面無刷新的問題
Android 中解決Viewpage調(diào)用notifyDataSetChanged()時(shí)界面無刷新的問題
問題描述
相信很多做過Viewpager的人肯定遇到過這個(gè)問題,這個(gè)是bug還是Android就是如此設(shè)計(jì)的,我們不做討論。總之,它確實(shí)影響我們功能的實(shí)現(xiàn)了。
可能不少同學(xué)選擇為Viewpager重新設(shè)置一遍適配器adapter,達(dá)到刷新的目的。但是這種方法在大多數(shù)情況下,是有問題的。
解決辦法
以我們可以嘗試著修改適配器的寫法,覆蓋getItemPosition()方法,當(dāng)調(diào)用notifyDataSetChanged時(shí),讓getItemPosition方法人為的返回POSITION_NONE,從而達(dá)到強(qiáng)迫viewpager重繪所有item的目的。
具體代碼如下:
class SearchAdapter extends PagerAdapter {
private int mChildCount = 0;
@Override
public void notifyDataSetChanged() {
mChildCount = getCount();
super.notifyDataSetChanged();
}
@Override
public int getItemPosition(Object object) {
if ( mChildCount > 0) {
mChildCount --;
return POSITION_NONE;
}
return super.getItemPosition(object);
}
}
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
android中DatePicker和TimePicker的使用方法詳解
這篇文章主要介紹了android中DatePicker和TimePicker的使用方法,是Android中常用的功能,需要的朋友可以參考下2014-07-07
Android 利用廣播監(jiān)聽usb連接狀態(tài)(變化情況)
這篇文章主要介紹了Android 利用廣播監(jiān)聽usb連接狀態(tài),需要的朋友可以參考下2017-06-06
Android中的AtomicLong原理、使用與實(shí)戰(zhàn)指南
本文詳細(xì)介紹了AtomicLong在Android多線程開發(fā)中的應(yīng)用,包括其核心原理、基本使用、適用場景、生產(chǎn)環(huán)境實(shí)戰(zhàn)案例以及性能優(yōu)化建議,通過大量Kotlin代碼示例,幫助開發(fā)者更好地理解和使用AtomicLong,感興趣的朋友一起看看吧2025-03-03
Android實(shí)現(xiàn)GridView中的item自由拖動效果
在前一個(gè)項(xiàng)目中,實(shí)現(xiàn)了一個(gè)功能是gridview中的item自由拖到效果,實(shí)現(xiàn)思路很簡單,主要工作就是交換節(jié)點(diǎn),以及拖動時(shí)的移動效果,下面小編給大家分享具體實(shí)現(xiàn)過程,對gridview實(shí)現(xiàn)拖拽效果感興趣的朋友一起看看吧2016-11-11
Android使用setContentView實(shí)現(xiàn)頁面的轉(zhuǎn)換效果
這篇文章主要介紹了Android如何使用setContentView實(shí)現(xiàn)頁面的轉(zhuǎn)換效果,幫助大家更好的利用Android進(jìn)行開發(fā),感興趣的朋友可以了解下2021-01-01
Android通過aapt命令獲取apk詳細(xì)信息(包括:文件包名,版本號,SDK等信息)
本文給大家分享android通過aapt命令獲取apk詳細(xì)信息(包括:文件包名,版本號,SDK等信息),非常不錯(cuò),簡單實(shí)用,對android sdk aapt知識感興趣的朋友一起通過本文學(xué)習(xí)吧2016-11-11
Android 防止多次重復(fù)點(diǎn)擊的三種方法的示例
本篇文章主要介紹了Android 防止多次重復(fù)點(diǎn)擊的三種方法的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Android編程布局(Layout)之AbsoluteLayout用法實(shí)例分析
這篇文章主要介紹了Android編程布局(Layout)之AbsoluteLayout用法,結(jié)合實(shí)例形式簡單分析了Android絕對布局AbsoluteLayout的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-12-12

