如何从 ListView 中删除“闪烁/闪烁效果”

问题描述

我的监听器会在数据库更改后自动更新列表视图:

useradapter = new ArrayAdapter<User>(this,android.R.layout.simple_list_item_1,userArrayList);
myUserListView.setAdapter(useradapter);
disposable d= new RoomWithRxJavaviewmodel(this.getApplication()).getList()
            .concatMap(users1 -> Flowable.fromIterable(users1))
            .subscribeOn(Schedulers.computation())
            .observeOn(AndroidSchedulers.mainThread())
            .distinctUntilChanged()
            //.doOnComplete(() -> {useradapter.notifyDataSetChanged();/*userArrayList.clear();*/ } )
            .subscribe(allusers ->
                    {
                          userArrayList.add(allusers);
                           useradapter.notifyDataSetChanged();
                    },e -> {
                Toast.makeText(this,"Error: " + e.getMessage(),Toast.LENGTH_LONG).show();
            }
);

我的简单删除功能

disposable ff = viewmodel.delete(Integer.valueOf(pl.getText().toString()))
  .subscribe(() -> { //onSucess
    useradapter.clear();
    Toast.makeText(this,"deleted!!!!!!!!",Toast.LENGTH_LONG).show();
  },//onError
    throwable -> {
    Toast.makeText(this,"Error!" + throwable.getMessage(),Toast.LENGTH_SHORT).show();
 }
);

以下问题:有时,我只是重复有时从列表视图中删除项目时会出现闪烁/闪烁效果。 示例:example

如果仔细观察,您可以看到闪烁/闪烁效果。例如,当我删除 ID 为 53,54 或 55 的项目时

我的问题是为什么会发生这种情况,或者更确切地说,为什么不总是发生,而只是有时发生?

我已经尝试过的事情:

在我的布局文件中设置 android:cacheColorHint="#00000000"。 将 myUserListView.setCacheColorHint(Color.TRANSPARENT); 添加到我的列表视图

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...