废话不多说了,直接给大家贴代码了。具体代码如下所示:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="c.example.jreduch10.recycler1activity">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/rv"

>

package c.example.jreduch10;

import android.os.bundle;

import android.support.v7.app.appcompatactivity;

import android.support.v7.widget.linearlayoutmanager;

import android.support.v7.widget.recyclerview;

import android.support.v7.widget.helper.itemtouchhelper;

import android.util.log;

import android.view.view;

import android.view.viewgroup;

import android.widget.imageview;

import android.widget.textview;

import android.widget.toast;

import java.util.arraylist;

import java.util.list;

import c.example.jreduch10.entity.video;

import jp.wasabeef.recyclerview.adapters.alphainanimationadapter;

import jp.wasabeef.recyclerview.adapters.scaleinanimationadapter;

public class recycler1activity extends appcompatactivity {

private recyclerview rv;

private list list;

private adapter adapter;

private itemtouchhelper itemtouchhelper;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_recycler1);

rv=(recyclerview)findviewbyid(r.id.rv);

list=new arraylist<>();

initdata();

adapter=new adapter(list);

linearlayoutmanager llm=new linearlayoutmanager(this);

llm.setorientation(linearlayoutmanager.vertical);

rv.setlayoutmanager(llm);

// rv.setadapter(adapter);

//动画效果

alphainanimationadapter alphainanimationadapter=new alphainanimationadapter(adapter);

rv.setadapter(new scaleinanimationadapter(alphainanimationadapter));

//默认动画效果

// rv.setitemanimator(new defaultitemanimator());

itemtouchhelper=createitemtouchhelper();

itemtouchhelper.attachtorecyclerview(rv);

监听事件某一行

// recyclerviewitemlistener listener=new recyclerviewitemlistener(this, new recyclerviewitemlistener.onitemclicklistener() {

// @override

// public void onitemclick(view item, int adapterposition) {

// toast.maketext(getbasecontext(),adapterposition+"",toast.length_short).show();

// }

// });

// rv.addonitemtouchlistener(listener);

}

public itemtouchhelper createitemtouchhelper(){

itemtouchhelper=new itemtouchhelper(new itemtouchhelper.callback() {

@override

public int getmovementflags(recyclerview recyclerview, recyclerview.viewholder viewholder) {

//拖拽时支持的方向向上向下

int dragflags=itemtouchhelper.up|itemtouchhelper.down;

//滑动的时候支持的方向为左右

int swipeflags=itemtouchhelper.left|itemtouchhelper.right;

//必须调用makemovementflags()方法通知 touchhelper支持的种类

return makemovementflags(dragflags,swipeflags);

}

//上下拖动回调次方法。

@override

public boolean onmove(recyclerview recyclerview, recyclerview.viewholder viewholder, recyclerview.viewholder target) {

adapter.move(viewholder.getadapterposition(),target.getadapterposition());

return true;

}

//左右滑动回调此方法。

@override

public void onswiped(recyclerview.viewholder viewholder, int direction) {

adapter.delete(viewholder.getadapterposition());

}

@override

public boolean isitemviewswipeenabled() {

return super.isitemviewswipeenabled();

}

@override

public boolean islongpressdragenabled() {

return super.islongpressdragenabled();

}

});

return itemtouchhelper;

}

public void initdata(){

video video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyfzyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyfzyfzyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

video=new video(r.mipmap.g,"国产","........");

list.add(video);

video=new video(r.mipmap.ic_launcher,"国产","........");

list.add(video);

video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyfzyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyfzyfzyf,"国产","........");

list.add(video);

video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

video=new video(r.mipmap.g,"国产","........");

list.add(video);

video=new video(r.mipmap.ic_launcher,"国产","........");

list.add(video);

video=new video(r.mipmap.zyf,"国产","........");

list.add(video);

}

public class adapter extends recyclerview.adapter{

private list mdata;

public adapter(list mdata){

this.mdata=mdata;

}

//左右滑动时调用此方法

public void delete(int position){

mdata.remove(position);

notifyitemremoved(position);

}

//上下拖动时调用此方法

public void move(int from,int to){

video video=mdata.remove(from);

mdata.add(to>from?to-1:to,video);

notifyitemmoved(from,to);

}

@override

public int getitemcount() {

return mdata.size();

}

@override

public viewholder oncreateviewholder(viewgroup parent, int viewtype) {

view view=getlayoutinflater().inflate(r.layout.recycle1_linear_layout,parent,false);

viewholder vh=new viewholder(view);

return vh;

}

@override

public void onbindviewholder(viewholder holder, int position) {

video video=mdata.get(position);

holder.iv.setimageresource(video.getimg());

holder.title.settext(video.gettitle());

holder.content.settext(video.getcontent());

}

}

public class viewholder extends recyclerview.viewholder{

imageview iv;

textview title;

textview content;

public viewholder(view itemview) {

super(itemview);

iv= (imageview) itemview.findviewbyid(r.id.iv);

title=(textview)itemview.findviewbyid(r.id.title);

content=(textview)itemview.findviewbyid(r.id.content);

//监听事件某一项

itemview.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

int position=getadapterposition();

log.d("9999999999","uuuuu");

toast.maketext(getbasecontext(),title.gettext()+":"+position,toast.length_short).show();

}

});

}

}

}

以上所述是小编给大家介绍的android 滑动监听recyclerview线性流+左右划删除+上下移动,希望对大家有所帮助

Android监听左右滑删除通知,Android 滑动监听RecyclerView线性流+左右划删除+上下移动...相关推荐

  1. Android代码删除通知,Android:从通知中删除通知b

    Android:从通知中删除通知b 我已经创建了一个应用程序,并且我设法在android通知栏中添加通知. 现在我需要示例如何从事件通知栏中删除该通知? 11个解决方案 197 votes 你可以尝试 ...

  2. Android代码删除通知,Android 删除 未接来电 通知

    Java代码 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(has ...

  3. android 音乐播放器的状态栏通知,Android仿虾米音乐播放器之通知栏notification解析...

    通知栏notification是Android中一个很重要的组件,可以在顶部状态栏中存在,用户也可以通过此来操作应用,在Android中只有3.0以上的版本才加入了notification的按钮点击功 ...

  4. android view禁止右滑,ViewPager 禁止左右滑动完美解决

    package cn.fht.widget; import android.content.Context; import android.support.v4.view.ViewPager; imp ...

  5. android新闻app实现下拉刷新,Android实例_当监听类有数据更新时下拉刷新

    之前两篇文章分别介绍了OnScrollListener的实现和ContentProvider监听数据的变化,下面我们就结合者两个知识点实现一个小项目 项目需求 使用当ContentProvider监听 ...

  6. android 标题栏颜色渐变和阴影,ScrollView上下滑动监听,及判断scrollView是否滚动到底部

    1.创建  ScrollListener 接口监听滑动距离 public interface ScrollListener {void onScrollChanged(ScrollListenerVi ...

  7. android模拟点击滑动,模拟Android的view点击和滑动监听

    一,简单形式的 /*模拟Android中的view 点击和滑动监听 * */ public class View { private OnClickListener onClickListener; ...

  8. Android耳机线控详解,蓝牙耳机按钮监听(仿酷狗线控效果)

    转载请注明出处:http://blog.csdn.net/fengyuzhengfan/article/details/46461253 当耳机的媒体按键被单击后,Android系统会发出一个广播,该 ...

  9. android全局监听onkeydown,Android中的几个onTouch()事件、onKeyDown监听返回键无效

    Android中的几个onTouch()事件.onKeyDown监听返回键无效 一:Android中的几个onTouch()事件 继承SimpleOnGestureListener,HahaGestu ...

最新文章

  1. Mac 下GitHub 访问慢解决方案
  2. OpenStack AMQP与kombu
  3. 英雄联盟祖安服务器位置,LOL“4区版英雄联盟”:城区有2个,郊区有2个,山区有1个...
  4. 将tomcat添加到服务中
  5. bzoj1049[HAOI2006]数字序列
  6. 成为优秀的Java程序员要具备哪些技能?
  7. golang *time.Time类型转*timestamppb.Timestamp
  8. 未来茅台酒会怎样跌下神坛?
  9. 原始套接字与抓包过滤规则setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, ...)
  10. Scrapy 框架爬取 武动乾坤小说
  11. [转]何为C10K问题
  12. bat 判断文件名字含有某些字段_PE文件头及其简单逆向运用
  13. ORACLE下载jdk需要注册账号,jdk下载
  14. 【上位机教程】CANopen通信下一体化步进电机与台达PLC(AS228T)的应用
  15. 全景视角下的世界探索——三维全景地图
  16. 网络协议分析(3):FTP
  17. 计算机组成与结构数据通路实验
  18. 自动弹窗加QQ群代码
  19. 实现微信扫描二维码关注公众号,直接注册登录网站
  20. onegreen的绿软word2003绿色版删除不掉的解决方案

热门文章

  1. pip install faiss-gpu失败unable to execute ‘swig‘: No such file or directory
  2. 项目中使用 Git 高频场景
  3. python编程问题--第四次
  4. 自动生成低精度深度学习算子
  5. TensorRT 7.2.1开发初步
  6. 2021年大数据Spark(三十九):SparkStreaming实战案例四 窗口函数
  7. Python的Xpath介绍和语法详解
  8. Centos7上安装Nginx两种方法
  9. 简介SharePoint 2010 14 Hive文件夹
  10. node、Mongo项目如何前后端分离提供接口给前端