jjzjj

notifyDataSetChanged

全部标签

Android - notifyDataSetChanged() 和线程

我有一个AsyncTask,它在doInBackground()方法中进行一些数字运算(更多细节在接下来的几行中)。doInBackground()中操作的数据是与ListView的适配器(在我的例子中是SimpleAdapter)关联的数据。处理适配器数据后,我需要做的是调用notifyDataSetChanged()并更新我的ListView。但是在doInBackground()中调用notifyDataSetChanged()会显示“不幸的是,‘应用名称’已停止工作”消息。我的错误堆栈显示:06-2208:01:49.083:E/AndroidRuntime(9955):FAT

安卓适配器 "java.lang.IndexOutOfBoundsException: Invalid index 4, size is 4"

我在从ArrayList中删除项目并同步Adapter时遇到问题。我有我的RecyclerView适配器,里面有一些ArrayList,叫做items。我从服务器下载了一些列表并在其中显示。每当我单击某些列表项时,我想将其从服务器、本地ArrayList中删除并通知适配器。问题是,当我从列表中删除从down到up的所有内容时,一切正常,但是当f.e.我从列表中删除第一个元素,然后随机删除它在我单击的元素之后删除的一些元素。在某些情况下,应用程序会崩溃(例如,我先删除第一个元素,然后再删除最后一个元素)。我得到的错误是:java.lang.IndexOutOfBoundsExceptio

android - 如何覆盖 RecyclerView 适配器的方法 notifyDataSetChanged、notifyItemChanged ...

如题。我正在编写一个支持多选模式的自定义RecyclerView。我需要跟踪每个项目的选中/未选中状态。所以在recyclerView的数据大小发生变化之后。我想更新我的跟踪状态列表的大小。但我不知道在哪里重写方法:notifyDataSetChanged、notifyItemChagned.... 最佳答案 正如前面的答案已经正确陈述的那样。您不能,因为这些方法是最终的。我在实现FastAdapter时遇到了同样的情况我想到的唯一解决方案是对这些方法进行稍微不同的命名。notifyDataSetChanged->notifyAda

android - notifyDataSetChanged() 不刷新适配器

我的适配器列表正在广播接收器上刷新。Everythingisworkingfineifadapterlistsizeisgreaterthan1,meansifmyrecyclerviewhasalreadyonerowshwoingthenlistrefreshingjustfine.Butiflistsizegoesfrom0to1thenmyadapternotifydatasetChangedstopworking.Nodatashowsonrecyclerview.Idon'tknowwhyitisnotworking.Recyclerview类:@Overridepubli

android - 损坏的 ActionBar 外观

我很久以前就注意到了这个问题,但直到现在我才能够准备清楚地重现它的演示。该问题存在于2.1模拟器和我的ICS4.0.3设备上。在应用程序中,我有AsyncTask,它可以通过调用invalidateOptionsMenu调整操作栏不确定进度和重新初始化菜单的可见性。这应该隐藏刷新图标。在我修改listView数据模型并在适配器上调用notifyDataSetChanged之前,这一切正常。在这样的操作之后,Actionbar可能会破坏View。预期View:损坏的View(最后一项永远消失或在某些情况下添加空白代替):引起代码在onPostExecute@Overrideprotect

android - 使用打开的 DialogFragment 旋转设备后 RecyclerView 不刷新

我在AppCompatActivity中有一个RecyclerView。旋转设备后,项目插入和更改会正确显示和动画。问题发生在您:点击RecyclerView中的项目。DialogFragment打开提示是否要删除项目。旋转设备。在对话框中确认删除。检查数组列表。该项目已被删除。RecyclerView仍然显示项目。尝试使用notifyDataSetChanged而不是notifyItemRemoved但也没有用,因为该项目仍在RecyclerView中显示。任何版本的Android都会发生这种情况。流程处理方式的简化代码:publicclassMyAppCompatActivitye

android - notifyDataSetChanged() 上的动画 ListView 项目

当我的数据库数据发生变化时,我想使用SimpleCursorAdapter向我的ListView添加一些动画。我正在使用SimpleCursorAdapter和LoaderManager我尝试在getView方法中添加动画@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){Viewview=super.getView(position,convertView,parent);//Myanimation(nineoldandroid)ObjectAnimator.ofFloat(view,"alp

android - notifyDataSetChanged 更新 ListView 失败

我有一个DialogFragment,它有一个带有CheckedTextView的ListView,顶部有一个复选框,用于选中和取消选中ListView中的所有项目。我正在尝试根据CheckAll复选框的状态将CheckedTextView的状态设置为选中/未选中。但是我无法使用notifyDataSetChanged相应地更新View。CategoriesDialogFragment.javapublicclassCategoriesDialogFragmentextendsSherlockDialogFragment{CheckBoxcheckAll;ListViewcategor

android ListView : adapter. 添加(项目)?或 adapter.notifyDataSetChanged()

当我使用ListView时,我扩展了ArrayAdapter并将数据(一个列表)存储在ArrayAdapter中,因此当数据更改时,我调用:adapter.add(item).;还有另一种选择,将数据存储在我的列表中,当数据更改时,在MyAdapter.java中调用:listView.setAdapter(adapter);adapter.notifyDataSetChanged();哪个是最好的选择? 最佳答案 当然adapter.add(item);然后调用notifyDataSetChanged()是比初始化新适配器并再次设

Android:notifyDataSetChanged()在方向改变后不更新 ListView

我有一个半复杂的问题,希望这里有人能够帮助我。在单击事件中,我创建了一个线程并根据this启动了一个长时间运行的操作方法。长时间运行的任务完成后,它会回调另一个方法,该方法会向处理程序发送消息:@OverridepublicvoidcontentSearchModelChanged(Model_ContentSearchcsm,ArrayListnewRemindersList){remindersList=newRemindersList;mHandler.post(mUpdateDisplayRunnable);}调用一个Runnable://postthistotheHandle