編輯:關於Android編程
以前在使用ListView當中,如果我們的列表數據發生了改變,我們會去調用Adapter.notifyDataSetChanged()去更新UI界面上的列表數據,當然這個方法在RecyclerView也同樣適用,那麼既然說RecyclerView是ListView最好的替代者,那麼RecyclerView有沒有什麼高級的方法呢?答案是有的。RecyclerView的Adapter支持更多種類的更新UI數據的方法,並且RecyclerView為添加刪除移動都做了默認的動畫效果。
看一下RecyclerView的Adapter主要增加了哪些方法:
notifyItemChanged(int position) 更新列表position位置上的數據可以調用 notifyItemInserted(int position) 列表position位置添加一條數據時可以調用,伴有動畫效果 notifyItemRemoved(int position) 列表position位置移除一條數據時調用,伴有動畫效果 notifyItemMoved(int fromPosition, int toPosition) 列表fromPosition位置的數據移到toPosition位置時調用,伴有動畫效果 notifyItemRangeChanged(int positionStart, int itemCount) 列表從positionStart位置到itemCount數量的列表項進行數據刷新 notifyItemRangeInserted(int positionStart, int itemCount) 列表從positionStart位置到itemCount數量的列表項批量添加數據時調用,伴有動畫效果 notifyItemRangeRemoved(int positionStart, int itemCount) 列表從positionStart位置到itemCount數量的列表項批量刪除數據時調用,伴有動畫效果看下本篇博文要實現的DEMO效果
可以看到RecyclerView的增刪移動操作都自動帶有了動畫效果,這點靠Adapter.notifyDataSetChanged更新UI數據是做不到的,需要靠RecyclerView的Adapter新增的方法去實現。
下面詳細的介紹下實現過程
配置Recyclerview,build.gradle<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4NCjxwcmUgY2xhc3M9"brush:java;">
首先是主界面的布局,很簡單上面一個Toolbar下面是RecyclerView,res/layout/activity_main.xml RecyclerView列表項布局 ,res/layout/item_layout.xml 然後是Toolbar需要用到的菜單XML,分別對應的是demo效果圖toolbar上面4個選項,res/menu/menu_main.xml 然後去建立RecyclerView的Adapter,很常規的一個Adapter如果看不懂,證明你還不會使用RecyclerView建議點擊文章開頭的幾個鏈接去學習一下:) 最後是重要的MainActivity類,其中涉及到了對Toolbar的使用,不熟悉的朋友也可以順便復習下,Toolbar上面4個菜單分別對應了新增列表,刪除列表,新增批量列表,列表項移動的操作,具體可以參考下面代碼注釋,MainActivity.java OK,這樣RecyclerView的Adapter更新UI數據的幾個高級用法就介紹完了,具體的還要靠自己去實踐摸索,去實踐摸索,也歡迎大家在下方留言。compile 'com.android.support:recyclerview-v7:23.1.1'
RecyclerViewAdapter.java
/**
* Created by LeeJizhou on 2016/4/18.
* Blog:www.lijizhou.com
* QQ:3107777777
*/
public class RecyclerViewAdapter extends RecyclerView.Adapter
/**
* Created by LeeJizhou on 2016/4/18.
* Blog:www.lijizhou.com
* QQ:3107777777
*/
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
//item 顯示所需
private String[] title = {"JAVA","C","C++","C#","PYTHON","PHP"
,".NET","JAVASCRIPT","RUBY","PERL","VB","OC","SWIFT"
};
private ArrayList
本文將介紹系統接收到來電之後,如何在電話薄中進行匹配聯系人的流程。分析將從另外一篇文章(基於Android6.0的RIL框架層模塊分析)中提到的與本文內容相關的代碼開始。
在之前的博客中已經為大家介紹了,如何在win環境下配置DNK程序,本篇我將帶大家實現一個簡單的Hello jni程序,讓大家真正感受一下NDK開發的魅力。這裡我們選擇使用
關於動畫的實現,Android提供了Animation,在Android SDK介紹了2種Animation模式: 1. Tween Animation:通過對場景裡的對
LED indicator 簡介所謂的LED indicator就是手機上面充電發短信的燈,有時會亮綠燈,有時會亮紅燈,有時一起亮(橙燈),主要用於提醒用戶電量、短信、電