国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

RecyclerView實現插入和刪除

2019-10-21 21:39:49
字體:
來源:轉載
供稿:網友

原來我們用listview的時候,插入數據了以后直接通過adapter的notifydatasetchanged就OK了。然后recycleview比listview更好的地方,就是它更靈活,控制性更強,我們想怎么擺弄就怎么擺弄。這本主要講述RecyclerView的三種方法。

1、notifyItemInserted(int position) 
2、notifyItemRangeChanged(int positionStart, int itemCount) 
3、notifyItemRemoved(int position)

1、notifyItemInserted(int position) 

意思就是在位置position的地方,插入一條。 
看代碼

public class TestActivity extends AppCompatActivity {  @Bind(R.id.button_add)  Button buttonAdd;  @Bind(R.id.recycler)  RecyclerView recycler;  private MyAdapter mAdapter;  private List<String> mList = new ArrayList<>();  private int count = 0;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_edit_text);    ButterKnife.bind(this);    initData();    recycler.setLayoutManager(new LinearLayoutManager(this));    mAdapter = new MyAdapter(this,mList);    recycler.setAdapter(mAdapter);  }  private void initData() {    for(int i=0;i<15;i++){      mList.add(i+"");    }  }  @OnClick(R.id.button_add)  public void add(){    count++;    mList.add(2,"插入"+count);    mAdapter.notifyItemInserted(2);    mAdapter.notifyItemRangeChanged(2,mList.size()-2);  }}

RecyclerView,插入,刪除

看代碼可以知道,我在position=2的位置,插入了數據,結果很快插入了,不需要更新整個列表

2、但是大家會發現,我代碼里面還有一句

mAdapter.notifyItemRangeChanged(2,mList.size()-2)

這句話是什么意思呢?意思就是從position為2位置開始的itemCount個數的item是新加來的,后面的位置position要相應的更新。

比如我在位置2的地方添加一條數據,原來位置2的地方的的數據現在的position應該是3了,如果不加這句話,則點擊3的時候,還是提示position為2。

這個應該是google的一個bug。

3、notifyItemRemoved(int position),把position位置的那條刪除

@OnClick(R.id.button_delete)  public void delete(){    mList.remove(2);    mAdapter.notifyItemRemoved(2);    mAdapter.notifyItemRangeChanged(0,mList.size()-2);  }

這段代碼的意思是把position為2位置的那條數據刪掉,看效果

RecyclerView,插入,刪除

這個地方還是要notifyItemRangeChanged的,不然position也不會變的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正镶白旗| 馆陶县| 德惠市| 鱼台县| 阜阳市| 高青县| 常德市| 克什克腾旗| 德庆县| 塘沽区| 桂林市| 察隅县| 瓦房店市| 双柏县| 三河市| 桐乡市| 鄱阳县| 大悟县| 岚皋县| 富顺县| 鹤峰县| 唐海县| 宜君县| 绥宁县| 武隆县| 东丰县| 钟祥市| 莒南县| 文安县| 固阳县| 阜南县| 青冈县| 德庆县| 沙坪坝区| 桦南县| 金华市| 三穗县| 永顺县| 北京市| 广昌县| 柘城县|