Android 左滑删除代码
时间: 2023-11-03 18:02:04 浏览: 36
您好,以下是 Android 左滑删除的示例代码:
```
public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<String> dataList;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化数据
dataList = new ArrayList<>();
for (int i = 0; i < 20; i++) {
dataList.add("item " + i);
}
listView = findViewById(R.id.list_view);
adapter = new MyAdapter(dataList);
listView.setAdapter(adapter);
//设置ListView滑动监听
listView.setOnTouchListener(new View.OnTouchListener() {
private float startX, startY;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = motionEvent.getX();
startY = motionEvent.getY();
break;
case MotionEvent.ACTION_MOVE:
float endX = motionEvent.getX();
float endY = motionEvent.getY();
//判断滑动方向
if (endX - startX > 50 && Math.abs(endY - startY) < 50) {
int position = listView.pointToPosition((int) startX, (int) startY);
if (position != AdapterView.INVALID_POSITION) {
adapter.deleteItem(position);
return true;
}
}
break;
default:
break;
}
return false;
}
});
}
private class MyAdapter extends BaseAdapter {
private List<String> dataList;
MyAdapter(List<String> dataList) {
this.dataList = dataList;
}
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int i) {
return dataList.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if (view == null) {
view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_layout, null);
holder = new ViewHolder();
holder.textView = view.findViewById(R.id.text_view);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.textView.setText(dataList.get(i));
return view;
}
private void deleteItem(int position) {
dataList.remove(position);
notifyDataSetChanged();
}
private class ViewHolder {
TextView textView;
}
}
}
```
希望能对您有帮助。