RecyclerView 中的notifyItemInserted() 和动画

2023-11-30

当我添加新项目时,我正在调用方法

public void addItem(ArrayList<ArrayList<String>> arrayList, int position){
    this.arrayList=arrayList;
    notifyItemInserted(position);
}

并期望看到添加的项目动画,但只有 recyclerView 中的前一个项目可以动画。我尝试更改位置(例如(位置+1)或(位置-1)),但这没有帮助。 活动代码:

private void showDialog(final String table_name) {
   ...
   final Cursor c = db.rawQuery("SELECT * FROM '"+table_name+"'",null);
 final String mas[]=c.getColumnNames();
    c.close();
    final List<EditText> list = new ArrayList<>();
    for (int m = 1; m < mas.length; m++) {
        list.add(new EditText(this));
        list.get(m-1).setHint(mas[m]);
        linearLayout.addView(list.get(m-1));
    }
    alert.setView(linearLayout);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {

         ArrayList<String> arrayList=new ArrayList<String>();
            for (int i=0;i<list.size();i++)
                arrayList.add(list.get(i).getText().toString());
            try {
                arrayList=AESEncryption.encrypt2(arrayList);
                ContentValues contentValues=new ContentValues();
                for (int i=1;i<mas.length;i++){
                    contentValues.put(mas[i],arrayList.get(i-1));
                }
                db.insert(table_name, null, contentValues);
                adapter.addItem(startDecrypt(),adapter.getItemCount());
            } catch (BadPaddingException e) ...

    });
    ...
    alert.show();
}
...
 private void fillListView() throws GeneralSecurityException, IOException, ClassNotFoundException {
        dbHelper = new DBHelper(this);
        dbHelper.setFILENAME(getIntent().getExtras().getString("categoryName"));
        db = dbHelper.getWritableDatabase();
        dbHelper.createTable(db);
         Cursor c = db.rawQuery("SELECT * FROM '"+FILENAME+"'",null);
         String mas[]=c.getColumnNames();
        String[] mas2 = Arrays.copyOfRange(mas, 1, mas.length);
        c.close();
       adapter=new RVAdapter(startDecrypt(),mas2,PasswordManagerActivity.this,FILENAME, AESEncryption);
        rv.setAdapter(adapter);
        rv.setHasFixedSize(true);
}

请各位聪明人给我一点建议。


您没有在您的addItem()方法。 您将一个完整的新列表分配给您的适配器。

将您的 addItem 方法更改为如下所示:

public void addItem(String item, int position) {
    this.arrayList.add(position, item);
    notifyItemInserted(position);
}

要将项目添加到列表视图中,请调用:

adapter.addItem("test", 0);

也许你应该看看SortedList class,它可以让您的生活更轻松。

请参阅此处的文档:https://developer.android.com/reference/android/support/v7/util/SortedList.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RecyclerView 中的notifyItemInserted() 和动画 的相关文章

  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • 从历史堆栈中删除活动

    我的应用程序在用户第一次运行应用程序时显示注册活动 如下所示 活动启动画面 欢迎来到游戏 注册帐户 ActivitySplashScreenSignUp 很好 填写此信息 ActivityGameMain 游戏主屏幕 因此 当用户单击每个屏
  • Android 中的 Sugar ORM:更新 SQLite 中保存的对象

    我是在 Android 上使用 SQLite 和 Sugar ORM 进行应用程序开发的新手 并尝试阅读 Sugar ORM 文档 但没有找到有关如何更新 SQLite 中保存的对象的任何信息 更改对象属性后还可以保存对象吗 就像是 Cus
  • API29 上不推荐使用 setColorFilter

    我使用以下行来更改 VectorDrawable 的颜色 mydrawable getBackground setColorFilter color PorterDuff Mode SRC ATOP 这很好用 尽管它现在已被弃用 文档建议我
  • 如何在活动中的必填字段中显示 * 符号

    我需要在活动中的必填字段中显示 符号 你能建议我怎样才能做到这一点吗 任何帮助 将不胜感激 我想说 作为必填字段的标记不遵循本机 Android 主题 的组合setHint and setError对于 Android 应用程序来说看起来更
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • Google 地图删除标记路线上下文菜单

    我使用 Android Studio 的 Google 地图模板启动了一个新项目 并在地图上添加了一个标记 LatLng location new LatLng lat lng Marker marker mMap addMarker ne
  • 如何在 NumberPicker 中一次显示 3 个以上的值

    我正在创建一个数字选择器 如下图所示 但如果有可用空间 我想显示 3 个以上的值 该选择器有 20 个项目 并且有足够的空间来显示 3 个以上的值 这可以使用 NumberPicker 来完成吗 只需以编程方式设置numberPicker
  • 使用 Android Studio 进行调试永远停留在“等待调试器”状态

    UPDATE The supposed重复是一个关于陷入 等待调试器 执行时Run 而这个问题就陷入了 等待调试器 执行时Debug 产生问题的步骤不同 解决方案也不同 每当我尝试使用Android Studio的调试功能时 运行状态总是停
  • 像 WhatsApp 一样发送图片

    我做了一个聊天应用程序 我想添加照片 文件共享我的应用程序中的概念与 WhatsApp 相同 我已经使用该应用程序制作了Xmpp Openfire目前我正在使用此功能进行照片共享 但它并不完全可靠 public void sendFile
  • 如何从android中的外部存储中获取所选文件的文件路径?

    我在选择文件的文件路径时遇到问题 我搜索了整个堆栈溢出 但问题没有解决 从设备中选择文件的代码如下所示 Intent intent new Intent Intent ACTION GET CONTENT intent setType in
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • Jetpack 导航:如何从一个嵌套图的子级导航到另一个嵌套图的子级?

    导航结构 MainActivity nav root HomeFragment AuthNestedGraph nav auth BeforeOtpFragment home OtpFragment ProfileNestedGraph n
  • Android 中的列表视图分页

    我有一个列表视图 其中显示了 50 个元素 我决定对视图进行分页 以便视图的每个部分都有 10 个元素 然后单击 下一个 按钮以获取下一个 10 个元素 如何设置10个数据 我关注这篇文章http rakhi577 wordpress co
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • 如何构建自定义摄像机应用程序?

    我正在尝试开发一个自定义摄像机录像机 当我的设备在 Activity 的 beginRecording 中执行 start MediaRecorder 方法时 应用程序崩溃 我不知道出了什么问题 因为我遵循谷歌API指南 http deve
  • Android Root 执行 su 带参数

    我在使用参数执行 su 时遇到问题 包含空格 我的 Command java 看起来像这样 public class Command Process process public String executeCommand String c
  • 如何在Android中创建一个简洁的两栏输入表单?

    我想创建一个整洁的两列输入表单 如下所示 到目前为止我的 xml 布局代码
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R

随机推荐

  • 通过触摸在贝塞尔曲线路径上旋转精灵 - Cocos2D/Box2D

    我有一个可以通过触摸旋转的箭头 我想知道是否可以沿曲线旋转箭头 我做了一些研究 我认为它被称为贝塞尔路径 是否可以使用此代码在贝塞尔曲线路径上旋转精灵 如果可以 我将如何合并它 UITouch touch touches anyObject
  • 将 Fragment 替换为后退按钮上的另一个片段

    我试图覆盖后退按钮 因为当我按下时它会关闭我的应用程序 我有不同的片段 片段 A 索引 当我按后退按钮时 它将关闭应用程序 片段B 当我按后退按钮时 它将返回到片段A 片段C 当我按后退按钮时 它将返回到片段A 我有我的主要活动 它管理我的
  • 如何从 shell 中截取网页的某个部分的快照?

    我有一个网页的一部分 我需要在给定的时间间隔拍摄 gif 快照 快照需要是全页面大小分辨率 但是正如我所说 它只会到达页面上的某个位置 在本例中它位于表格之后 获取这样的页面快照图像的最佳方式是什么 我想把它扔到一个 cron 作业中然后忘
  • Internet Explorer 中的 Javascript 命名函数表达式

    为什么以下代码在 Internet Explorer 中不起作用 到目前为止我只在 IE8 中进行了测试 function this foo function foo foo prototype bar function return ba
  • UTF-8 字符计数

    我正在编写一些程序来计算文件中 UTF 8 字符的数量 我已经编写了基本代码 但现在 我陷入了应该计算字符的部分 到目前为止 这些是我所拥有的 文本文件里面有什么 黄埔炒蛋 你好 到目前为止我编写的代码 include
  • 迭代数组两次(笛卡尔积)但只考虑一半的元素

    我试图迭代一个数组两次以获得元素对 e i e j 但我只想要 i 基本上 我想要的是类似 C 的语言 int my array N for int i 0 i
  • CodeIgniter:无法在视图中的函数内访问$this

    我正在使用 CodeIgniter 并且我的一个视图变得非常大 因此我将一些代码移至同一文件中的函数中 function html stuff posts this gt db gt query select from posts 当我运行
  • c#:使用命名空间将 xml 反序列化为 clr 对象

    我需要 XmlSerializer 方面的帮助 我必须遵循以下 xml 片段
  • 为完整的 Android 应用程序添加自定义字体

    在我的应用程序中 我需要对所有文本视图和编辑文本字段使用 helvetica 字体 除了对每个 textview 使用 settypeface 方法之外 还有什么方法可以做到这一点 任何建议都会有很大的帮助 提前致谢 我自己想出来了 这是我
  • ord('q') 和 0xFF 的用法

    我无法理解以下代码片段 if cv2 waitKey 0 0xFF ord q break 在此代码中 1 import numpy as np 2 import cv2 3 4 cap cv2 VideoCapture 0 5 6 whi
  • AsyncTask 不会取消 android 中长时间运行的操作

    我必须从服务器下载大量数据 下载至少需要 10 秒 这是我使用 asynctask 类下载的代码 如果用户在下载操作正在进行时单击主页按钮 我想无条件取消下载操作 问题是 我正在执行 cancel 方法 但它没有取消下载操作 即使我退出应用
  • UIAlertView 无法正常运行

    当我尝试关闭 UIAlertView 时遇到问题 UIAlertView 正确启动 并显示两个按钮 是 和 否 但是 当我选择 是 按钮时 什么也没有发生 我想知道我做错了什么 为什么选择 是 按钮后没有任何反应 我的代码如下 IBActi
  • JSF 2 托管 bean 未实例化

    我在我创建的示例 jsf 项目中遇到了这个问题 托管 Bean 不会被实例化 豆类 ManagedBean name loginMB RequestScoped public class LoginMB extends AbstractMB
  • 如何生成自定义唯一ID

    我们正在使用 Sitecore 7 2 进行多站点实施 实际数据在多站点之间共享 因此它存储在公共全局项目文件夹中 我们面临着在 URL 上生成唯一 ID 的问题 我进行了很好的搜索 但除了使用 Sitecore 项目 ID 之外找不到任何
  • 如何在通过 Jenkins 构建 apk 时动态设置 buildConfigField 参数

    我在 build gradle 的 ProductFlavors 中有以下字段 productFlavors Flavor1 applicationId com example A buildConfigField int ID 123 我
  • 根据表数据对表行进行排序

    例如 我有一个代码 table tr th name th price th th tr tr td a td td class sort 5 td tr tr td b td td class sort 3 td tr tr td c t
  • 什么是鸭子打字?

    什么是鸭子打字软件开发中的意思 这是一个术语 用于动态语言没有强类型 这个想法是 您不需要指定类型来调用对象上的现有方法 如果在该对象上定义了方法 您就可以调用它 这个名字来源于一句话 如果它看起来像鸭子并且嘎嘎叫起来像鸭子 那么它就是鸭子
  • 透明 MTKView 未与其后面的窗口正确混合

    我有一个简单的 macOS 应用程序 它有一个 MTKView 它只是窗口内的一个 MTKView 片段着色器总是这样做 return float4 1 0 0 0 01 那是带有 1 alpha 的红色 属于 MTKView 的 CAMe
  • 如何使用 bash 测试互联网连接?

    如何在不 ping 某些网站的情况下测试互联网连接 我的意思是 如果有连接但站点已关闭怎么办 是否有检查与世界的联系 无 ping bin bash wget q spider http google com if eq 0 then ec
  • RecyclerView 中的notifyItemInserted() 和动画

    当我添加新项目时 我正在调用方法 public void addItem ArrayList