swipelistview使用方法

swipelistview 的xml类似这样:

<com.fortysevendeg.swipelistview.SwipeListView
android:id="@+id/swipe_lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:listSelector="#ff0000"
app:swipeActionLeft="reveal"
app:swipeActionRight="reveal"
app:swipeAnimationTime="0"
app:swipeBackView="@+id/back"                 //这个id需要和item的back的id一致(front同理)
app:swipeCloseAllItemsWhenMoveList="true"    //拖动listview时是否关闭拉开的item(有人建议是true,不然可能有问题)
app:swipeFrontView="@+id/front"
app:swipeMode="both"                                   //是否左右都能拉
app:swipeOffsetLeft="0dp"                              //拉动距离
app:swipeOffsetRight="0dp"  
app:swipeOpenOnLongPress="false"                     //长按打开item
/>

设置adapter:

public class SwipeAdapter extends ArrayAdapter<String> {
private LayoutInflater mInflater ;
private List<String> objects ;
private SwipeListView mSwipeListView ;
public SwipeAdapter(Context context, int textViewResourceId,List<String> objects, SwipeListView mSwipeListView) {
super(context, textViewResourceId, objects);
this.objects = objects ;
this.mSwipeListView = mSwipeListView ;
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null ;
if(convertView == null){
convertView = mInflater.inflate(R.layout.package_row, parent, false);
holder = new ViewHolder();
holder.mFrontText = (TextView) convertView.findViewById(R.id.example_row_tv_title);
holder.mBackEdit = (Button) convertView.findViewById(R.id.example_row_b_action_3);
holder.mBackDelete = (Button) convertView.findViewById(R.id.example_row_b_action_2);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
holder.mBackDelete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mSwipeListView.closeAnimate(position);
mSwipeListView.dismiss(position);
}
});
String item = getItem(position);
holder.mFrontText.setText(item);
return convertView;
}
class ViewHolder{
TextView mFrontText ;
Button mBackEdit,mBackDelete ;
}
}

设置listener:

class TestSwipeListviewListener extends BaseSwipeListViewListener {
@Override
public void onClickFrontView(int position) {
// TODO Auto-generated method stub
super.onClickFrontView(position);
Toast.makeText(getApplicationContext(), "click:"+testdata.get(position), Toast.LENGTH_SHORT).show();
}
@Override
public void onDismiss(int[] reverseSortedPositions) {
for(int position:reverseSortedPositions){
//这里弹出的toast必须在前面,不然显示的是下一个item
Toast.makeText(getApplicationContext(), "remove:"+testdata.get(position), Toast.LENGTH_SHORT).show();
testdata.remove(position);
}
adapter.notifyDataSetChanged();
}
}

时间: 2024-12-28 06:25:04

swipelistview使用方法的相关文章

SwipeListView 详解 实现微信,QQ等滑动删除效果

Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序.一般的Linux系统都将bash作为默认的shell. 2.几种流行的shell 目前流行的shell有ash.bash.ksh.csh.zsh等,可以用下面的命令来查看she

android开发之SwipeListView的使用

实现一种类似于qq中滑动列表的功能: 向左或者向右滑动,然后执行相关操作. 这里用到的是GitHub上的开源控件SwipeListView,下载地址https://github.com/47deg/android-swipelistview,下载好了之后,我们可以把下载文件当作一个库文件引用它,当然也可以直接把源代码拷贝到我们的想木当中.SwipeListView还依赖一个Github上的第三方控件,叫做NineOldAndroids,下载地址https://github.com/JakeWha

SwipeListview拦截ViewPager滑动事件(改进)

前几天解决了SwipeListview拦截ViewPager滑动事件,今天在ViewPager下面增加一些常规布局,发现在新增布局中设置完点击事件后,在这些新增布局范围内,ListView不能上下滑动,查看SwipeListview中onInterceptTouchEvent()方法,发现不能简单将滑动事件分配给子View,应当对移动事件重写,在判定为上下滑动时,将事件拦截在此,最后改进的结果如下: downPosition = pointToPosition((int) x, (int) y)

SwipeListview拦截ViewPager滑动事件

最近在做一个项目,用到下拉刷新跟侧滑删除SwipeListView,在SwipeListView中用addHeaderView()方法添加一个ViewPager,发现ViewPager滑动不了,查看源码看到在SwipeListView中滑动事件被拦截了,因此ViewPager得不得滑动事件. 我的解决思路是在SwipeListview中的onInterceptTouchEvent()方法中,判断当前触发滑动事件Item位置,判断当为HeaderView时不拦截,此方法亦可解决问题. downPo

SwipeListView 具体解释 实现微信,QQ等滑动删除效果

QQ或者微信出现过滑动,近期联系人列表,能够删去当前选中的联系人,这个功能玩起来非常爽 , 就是试着做了下.事实上是使用了开源框架SwipeListView . SwipeListView 与一般的ListView使用方式差点儿相同,仅仅是添加了一些特殊功能. <com.fortysevendeg.swipelistview.SwipeListView xmlns:swipe="http://schemas.android.com/apk/res-auto" android:id

cc美团 滑动删除(SwipeListView)

团购片段中 private SwipeListView mListView; 修改lib_pull库中PullToRefreshListView类 public class PullToRefreshListView extends PullToRefreshAdapterViewBase<SwipeListView> { private LoadingLayout mHeaderLoadingView; private LoadingLayout mFooterLoadingView; pr

Android listview 侧滑 SwipeListView 详解 实现微信,QQ等滑动删除效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/28508769 今天看别人项目,看到别人使用了SwipeListView,Google一把,果然github上的,也参考了csdn上的几篇文章,然后自己写了个例子,分享给大家. 效果图: 嗯,看一眼SwipeListView的参数的设置: If you decide to use SwipeListView as a view, you can define it in your

SwipeListView的使用

QQ的滑动删除效果很不错,要实现这种效果,可以使用SwipeListView.1. 下载com.fortysevendeg.swipelistview这个项目(以前GitHub上有,现在GitHub上没有了,百度了很多次才下载到的),导入Eclipse,右键单击,选择Properties->Android,选中Library下面的IsLibrary. 2. 新建一个项目MySwipeListView,加入SwipeListView这个库. 3. 在主窗体里面放入一个SwipeListView控件

SwipeListView滑动删除Android

先来看activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:swipe="http://schemas.android.com/apk/res-auto" android:layout_width=&quo