最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RecycleView實(shí)現(xiàn)item側(cè)滑刪除與拖拽

 更新時間:2020年11月29日 09:27:05   作者:阿里飛  
這篇文章主要為大家詳細(xì)介紹了RecycleView實(shí)現(xiàn)item側(cè)滑刪除與拖拽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了RecycleView實(shí)現(xiàn)item側(cè)滑刪除與拖拽的具體代碼,供大家參考,具體內(nèi)容如下

一、添加依賴

// 側(cè)滑刪除依賴
implementation 'com.yanzhenjie.recyclerview:support:1.3.2'

二、布局文件

這里使用的的控件是: com.yanzhenjie.recyclerview.SwipeRecyclerView

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity">
 
 <com.yanzhenjie.recyclerview.SwipeRecyclerView
  android:id="@+id/srv"
  android:layout_width="match_parent"
  android:layout_height="match_parent" />

</RelativeLayout>

三、代碼實(shí)現(xiàn)

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

import com.google.gson.Gson;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import com.yanzhenjie.recyclerview.touch.OnItemMoveListener;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MainActivity extends AppCompatActivity {
 SwipeRecyclerView srv; //控件
 List<JavaBean.DataBean> dataAll = new ArrayList<>(); //存數(shù)據(jù)的集合
 MyAdapter myAdapter; //適配器

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  //初始化控件
  initView();

  //得到數(shù)據(jù), 數(shù)據(jù)可以模擬, 不在展示
  initData();

  //監(jiān)聽事件
  initListener();
 }

 // TODO 3 監(jiān)聽事件
 private void initListener() {
  srv.setItemViewSwipeEnabled(true); //側(cè)滑刪除 默認(rèn)關(guān)閉
  srv.setLongPressDragEnabled(true); //拖拽排序 默認(rèn)關(guān)閉
  // 拖拽監(jiān)聽
  srv.setOnItemMoveListener(new OnItemMoveListener() {
   // 此方法在Item拖拽交換位置時被調(diào)用。
   @Override
   public boolean onItemMove(RecyclerView.ViewHolder srcHolder, RecyclerView.ViewHolder targetHolder) {
    // 第一個參數(shù)是要交換為之的Item,第二個是目標(biāo)位置的Item。
    int adapterPosition = srcHolder.getAdapterPosition();
    int adapterPosition1 = targetHolder.getAdapterPosition();
    // swap交換數(shù)據(jù),并更新adapter。
    Collections.swap(dataAll, adapterPosition, adapterPosition1);
    myAdapter.notifyItemMoved(adapterPosition, adapterPosition1);

    return true;// 返回true,表示數(shù)據(jù)交換成功,ItemView可以交換位置。
   }

   // 此方法在Item在側(cè)滑刪除時被調(diào)用。
   @Override
   public void onItemDismiss(RecyclerView.ViewHolder srcHolder) {
    // 從數(shù)據(jù)源移除該Item對應(yīng)的數(shù)據(jù),并刷新Adapter。
    int position = srcHolder.getAdapterPosition();
    dataAll.remove(position);
    myAdapter.notifyItemRemoved(position);
   }
  });
 }

 //TODO 2 得到數(shù)據(jù)
 private void initData() {
  //這里使用回調(diào)的方式得到的數(shù)據(jù)
  OkgoData.getInstance().getDataByOkGo(new DataCallBack() {
   @Override
   public void getDataJson(String json) {
    List<JavaBean.DataBean> data = new Gson().fromJson(json, JavaBean.class).getData();
    dataAll.clear();
    dataAll.addAll(data);
    myAdapter.setNewData(dataAll);
    myAdapter.notifyDataSetChanged(); //適配器通知更新
   }
  });
 }

 //TODO 1 初始化控件
 private void initView() {
  srv = findViewById(R.id.srv); //找到控件

  // 添加下劃線
  DividerItemDecoration decoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
  srv.addItemDecoration(decoration);
  //添加適配器
  myAdapter = new MyAdapter(R.layout.layout_adapter_item, dataAll);
  srv.setAdapter(myAdapter);

  //添加布局管理 必須添加不然無法顯示
  LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
  srv.setLayoutManager(layoutManager);
 }
}

其他功能具體實(shí)現(xiàn)請參考:RecycleView側(cè)滑刪除與拖拽

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android使用屬性動畫如何自定義倒計時控件詳解

    Android使用屬性動畫如何自定義倒計時控件詳解

    自Android 3.0版本開始,系統(tǒng)給我們提供了一種全新的動畫模式,屬性動畫(property animation),它的功能非常強(qiáng)大,下面這篇文章主要給大家介紹了關(guān)于Android使用屬性動畫如何自定義倒計時控件的相關(guān)資料,需要的朋友可以參考下
    2018-05-05
  • ContentProvider啟動流程示例解析

    ContentProvider啟動流程示例解析

    這篇文章主要為大家介紹了ContentProvider啟動流程示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android控件之AnalogClock與DigitalClock用法實(shí)例分析

    Android控件之AnalogClock與DigitalClock用法實(shí)例分析

    這篇文章主要介紹了Android控件之AnalogClock與DigitalClock用法,以實(shí)例形式分析了Android時鐘控件AnalogClock和DigitalClock用于顯示時間的具體使用技巧,需要的朋友可以參考下
    2015-09-09
  • AndroidStudio升級4.1坑(無法啟動、插件plugin不好用、代碼不高亮)

    AndroidStudio升級4.1坑(無法啟動、插件plugin不好用、代碼不高亮)

    這篇文章主要介紹了AndroidStudio升級4.1坑(無法啟動、插件plugin不好用、代碼不高亮),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Android實(shí)現(xiàn)九宮格解鎖

    Android實(shí)現(xiàn)九宮格解鎖

    根據(jù)最近Android項(xiàng)目需要,實(shí)現(xiàn)九宮格解鎖效果,下面小編給大家分享了具體實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Android實(shí)現(xiàn)EditText輸入金額

    Android實(shí)現(xiàn)EditText輸入金額

    EditText是Android中一個非常實(shí)用的控件,有很多InputType,可以來達(dá)到不同的輸入效果,下面通過實(shí)例代碼給大家解析android實(shí)現(xiàn)edittext輸入金額,需要的朋友參考下吧
    2016-12-12
  • Android版多線程下載 仿下載助手(最新)

    Android版多線程下載 仿下載助手(最新)

    我們都知道,下載助手,比如360,百度的 手機(jī)助手,下載APP的時候 ,都可以同時下載多個,所以下載肯定是多線程的,所以我們就需要一個線程工具類來管理我們的線程,這個工具類的核心,就是線程池。接下來給大家介紹Android版多線程下載 仿下載助手(最新)
    2015-08-08
  • android輸入框內(nèi)容改變的監(jiān)聽事件實(shí)例

    android輸入框內(nèi)容改變的監(jiān)聽事件實(shí)例

    下面小編就為大家分享一篇android輸入框內(nèi)容改變的監(jiān)聽事件實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Native.js屏幕截圖實(shí)例代碼

    Native.js屏幕截圖實(shí)例代碼

    本文詳細(xì)解讀了Dcloud的H5+API中webview draw使用方法,并給出draw截圖的Android,iOS通用方法,希望對大家有所幫助
    2018-09-09
  • Android自定義Toolbar使用方法詳解

    Android自定義Toolbar使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android自定義Toolbar使用方法 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

秦皇岛市| 绥江县| 手游| 神池县| 库伦旗| 太湖县| 三亚市| 梁平县| 富平县| 商城县| 图木舒克市| 社会| 杂多县| 丹阳市| 丹寨县| 永兴县| 虹口区| 巫溪县| 新沂市| 行唐县| 乌苏市| 黄浦区| 辽阳市| 隆子县| 新建县| 舟曲县| 巩义市| 绍兴市| 当雄县| 淳安县| 察雅县| 乾安县| 蒲江县| 肃南| 西安市| 苏州市| 沅江市| 临夏县| 常山县| 潼南县| 红桥区|