日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2023/11/27 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android监听左右滑删除通知,Android 滑动监听RecyclerView线性流+左右划删除+上下移动... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

廢話不多說了,直接給大家貼代碼了。具體代碼如下所示:

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线性流+左右划删除+上下移动...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。