加依赖
compile "com.daimajia.swipelayout:library:1.2.0@aar"
item布局外面嵌套布局就好了
<com.daimajia.swipe.SwipeLayout
android:layout_width="match_parent"
android:id="@+id/swipe"
android:layout_height="wrap_content">
ListView的适配器
package com.yk.zxs.swipe_demo2;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.daimajia.swipe.adapters.BaseSwipeAdapter;
import java.util.ArrayList;
/**
* Created by 爸爸 on 2018/5/30.
*/
public class MyAdapter extends BaseSwipeAdapter {
private ArrayList list;
private Context context;
public MyAdapter(ArrayList list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getSwipeLayoutResourceId(int position) {
return R.id.swipe;
//这里必须返回swipe的ID,不然他查找不到侧滑
}
@Override
public View generateView(final int position, ViewGroup parent) {
View view= LayoutInflater.from(context).inflate(R.layout.list_item,parent,false);
Log.i("返回事件", "generateView: "+position);
view.findViewById(R.id.item_text1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "删除", Toast.LENGTH_SHORT).show();
}
});
return view;
}
@Override
public void fillValues(final int position, View convertView) {
MyViewHolder myViewHolder=null;
if(convertView!=null){
myViewHolder=new MyViewHolder();
myViewHolder.note_content_abs=convertView.findViewById(R.id.note_item_abs);
myViewHolder.note_time = convertView.findViewById(R.id.note_item_time);
myViewHolder.note_title = convertView.findViewById(R.id.note_item_title);
myViewHolder.homeapager = convertView.findViewById(R.id.homepager);
myViewHolder.homeapager.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "我的数据"+position, Toast.LENGTH_SHORT).show();
}
});
}
Log.i("每个ITEM", "fillValues: "+position);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
class MyViewHolder{
TextView note_title;
TextView note_content_abs;
TextView note_time;
RelativeLayout homeapager;
}
}