要实现一个包含核心数据的滑动删除功能插入,可以使用Android中的RecyclerView和ItemTouchHelper来实现。
首先,在布局文件中添加一个RecyclerView组件:
接下来,创建一个适配器类来绑定数据和视图:
public class MyAdapter extends RecyclerView.Adapter {
private List mData;
public MyAdapter(List data) {
mData = data;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String item = mData.get(position);
holder.textView.setText(item);
}
@Override
public int getItemCount() {
return mData.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
}
然后,在布局文件中创建一个用于显示每个数据项的item_layout.xml:
接下来,在Activity或Fragment中,先准备一些核心数据:
List data = new ArrayList<>();
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");
然后,将数据和适配器绑定到RecyclerView:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
MyAdapter adapter = new MyAdapter(data);
recyclerView.setAdapter(adapter);
最后,创建一个ItemTouchHelper.Callback来处理滑动删除功能:
ItemTouchHelper.Callback callback = new ItemTouchHelper.Callback() {
@Override
public int getMovementFlags(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) {
int dragFlags = 0;
int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
return makeMovementFlags(dragFlags, swipeFlags);
}
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
data.remove(position);
adapter.notifyItemRemoved(position);
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(callback);
itemTouchHelper.attachToRecyclerView(recyclerView);
通过以上步骤,就可以实现包含核心数据的滑动删除功能插入了。滑动删除时,可以通过左右滑动列表项来删除特定数据项。
上一篇:包括和排除特定记录