# ohos-swipe-to-dismiss-undo **Repository Path**: chinasoft5_ohos/ohos-swipe-to-dismiss-undo ## Basic Information - **Project Name**: ohos-swipe-to-dismiss-undo - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-28 - **Last Updated**: 2023-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ohos-swipe-to-dismiss-undo -------------------------- ### 项目介绍 - 项目名称:ohos-swipe-to-dismiss-undo - 功能:ohos-swipe-to-dismiss-undo 使ListView或RecyclerView 中的项目可以关闭或撤消 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本:Release 1.0 ### 效果演示 ![screen1](sample.gif) ### 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:ohos-swipe-to-dismiss-undo:1.0.0'); ...... } ``` 在sdk6,DevEco Studio2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ### 使用说明 1.将仓库导入到本地仓库中 2.在代码中使用 ```xml ``` ```java private static class MyAdapter extends BaseAdapter { public MyAdapter(ArrayList data, Callbacks callbacks) { super(data, callbacks); } @Override protected int getLayoutResId() { return ResourceTable.Layout_list_item; } @Override protected int[] bindView() { return new int[]{ResourceTable.Id_lyt_container, ResourceTable.Id_layout_old, ResourceTable.Id_layout_new, ResourceTable.Id_txt_data, ResourceTable.Id_txt_delete, ResourceTable.Id_txt_undo}; } @Override protected void initData(ViewHolder holder, BaseModal data, int position, Callbacks callbacks) { ItemLayout itemLayout = (ItemLayout) holder.getViewById(ResourceTable.Id_lyt_container); itemLayout.setCallBack(callbacks); itemLayout.setPosition(position); Text tvIndex = (Text) holder.getViewById(ResourceTable.Id_txt_data); tvIndex.setText(data.getIndex()); Text tvDelete = (Text) holder.getViewById(ResourceTable.Id_txt_delete); Text tvUndo = (Text) holder.getViewById(ResourceTable.Id_txt_undo); tvDelete.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { remove(position); } }); tvUndo.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { recoveryBackground(position); } }); DirectionalLayout layout_old = (DirectionalLayout) holder.getViewById(ResourceTable.Id_layout_old); DirectionalLayout layout_new = (DirectionalLayout) holder.getViewById(ResourceTable.Id_layout_new); layout_old.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { callbacks.onItemClicked(position); } }); if (data.getShowBack()) { layout_old.setVisibility(Component.INVISIBLE); layout_new.setVisibility(Component.VISIBLE); } else { layout_old.setVisibility(Component.VISIBLE); layout_new.setVisibility(Component.INVISIBLE); } } } BaseAdapter listItemProvider = new MyAdapter(mDataSet, this); listView.setItemProvider(listItemProvider); ``` ### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 ### 版本迭代 - 1.0.0 - 0.0.1-SNAPSHOT ### 版权和许可信息 ``` The MIT License (MIT) Copyright (c) 2014 Hugo Doménech Juárez ```