這兩天用兩個個RecyclerView實現二級菜單,卻不曾想出現了一個bug.
如果RecyclerView上拉過(屏幕第一條數據并不是List的第一條數據),無論點擊父的還是子的item,父RecyclerView會自動刷新并回到頂部.如果子RecyclerView也被上拉了,無論點擊父的還是子的item,子RecyclerView都不會刷新回到頂部!如圖:
這個Bug搞了我整整三天,真的是三天!!!!國內外的墻也翻了,坑也跳了,官方文檔也看了,源碼也拜讀了,都沒有解決到這個問題.
最后無計可施,發到群里讓眾基友幫忙解決,幸好大家興致昂昂都在幫忙解決!!!找到了兩種方方式第一:在Layout文件中設置RecyclerView的寬高為warp_content,如
<android.support.v7.widget.RecyclerViewandroid:id="@+id/cities_rec" android:layout_marginLeft="2dp" android:background="#654321" android:layout_width="wrap_content"android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView>但是這一改動,布局就亂了,不是完全根本之策.第二:在build.gradle(Moudle)中修改SDK版本為最新,如圖:雖然Bug解決了,但疑問并沒有解決:點擊子RecyclerView的Item,并沒有執行父RecyclerView的刷新事件,都是獨立分開的,為什么會出現這種情況?RecyclerView的內部bug?
新聞熱點
疑難解答