问题标签 [notifydatasetchanged]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android ListView adapter.notifyDataSetChanged 有时有效,有时无效
Android ListView 的适配器有一个令人沮丧的问题
我有这段代码:
Wheredice是自定义对象的 ArrayList 并且adapter是ArrayAdapter. 单击视图时, Toast始终可见,但 ListView 仅偶尔更新。我看不出它有什么规律。有时视图会在点击时更新,有时会在 2 或 3 次之后更新。
有任何想法吗?谢谢
android - CastException:从 ViewPager 更新片段后
我正在使用以下方法更新我的片段 2:
现在,当我在 中添加和附加和不同时Fragment,getItem(int position)一切似乎都运行良好。但是,当我运行mPager.getAdapter().notifyDataSetChanged();它时,它会抛出我:
怎么了?非常感谢。
android - 实时更新列表视图
我已经深入研究了 SO,但是,尽管我发现其他人向我提出了类似的问题,但我还没有找到一个可以解决我遇到的相同问题的问题。我也没有找到满意的答案。
我有一个列表视图。当我从适配器调用 .notifyDataSetChanged 时,ListView 会更新,但只有在调用 onResume() 后才能看到更新。换句话说,我不会立即看到它,只有在我离开活动并回来之后。
我该怎么做才能立即看到更新?我已经尝试过 .notifyDataSetChanged 方法,我尝试过重置适配器......没有任何效果。
android - 适配器 notifyDataSetChanged 也不工作
我用于notifyDataSetChanged适配器,但我的列表没有更新。这是我的代码的一部分。
所以每次我向 中添加项目时userNames,我都会调用adapter.notifyDataSetChanged();方法,但没有任何更新。我尝试了很多清理,清理userNames的方法,但它不起作用。谁能帮我?谢谢
编辑:
我在添加新用户的地方调用这两个函数。
我也有User课,但我填写ListView了用户的用户名。
android - Android Viewpager如何动态删除一个Fragment?
几天来,我一直在努力在我的应用程序中构建允许用户从 Viewpager 中删除页面/片段的功能,我尝试将我的 FragmentPageAdapter 更改为 FragmentStatePageAdapter 并覆盖我 getItemPosition()的 to return POSITION_NONE;但是这仍然不允许我删除我打电话时动态分段fragments.remove(page);
以前有没有人成功地做到过?看起来应该很简单,但事实并非如此,下面是我的片段适配器,任何帮助都会大有帮助,谢谢!
android - notifyDataSetChanged() 不适用于我的 gridview 适配器
我有一个GridView和适配器GridView(BasketAdapter extends BaseAdapter)。
我GridView从 sharedpref 文件中加载数据。更改数据后,我使用数据重新保存 sharedpref 文件并调用notifyDataSetChanged(). 但notifyDataSetChanged()不幸的是不起作用。
如果我创建新适配器并将其设置为 my GridView,它可以工作。谁能帮我解决这个问题?
这是我的代码:
android - Android:将新项目添加到列表后,ListView 中的 NullPointerException onItemClick
这是一些代码,我无法修复自己。
我制作了一个自定义 ArrayAdapter,用包含玩家姓名的 TextView 填充我的 ListView。
当在实例化适配器之前指定完整的播放器名称列表时,它会按预期工作。当我单击适配器实例化后添加的列表项时会出现问题。
我不知道为什么会在以下位置出现 NullPointerException:
在这条线上:
当我单击列表中名为“Fries”的第三个玩家时。
带解释的代码:
PlayersArrayAdapter 类:
来自调试的错误消息:
android - 如何在不使用 notifyDataSetChanged() 的情况下更新 Listview 中的某些数据?
我正在尝试ListView使用下载任务列表创建一个。
下载任务在Service(DownloadService) 中进行管理。每次接收到一大块数据时,任务通过 a 发送进度Broadcast,由Fragment包含ListView(SavedShowListFragment) 接收。收到Broadcast消息后,SavedShowListFragment 会更新适配器中下载任务的进度并触发notifyDataSetChanged().
列表中的每一行都包含一个ProgressBar,aTextView代表正在下载的文件的标题,一个代表进度的数值,aButton用于在下载完成时暂停/恢复下载或播放保存的节目。
问题是暂停/恢复/播放Button通常没有响应(onClick()没有被调用),我认为这是因为整个列表的更新非常频繁notifyDataSetChanged()(每次接收到一大块数据,即 1024 字节,这可以是每秒多次,尤其是当有多个下载任务正在运行时)。
我想我可以在下载任务中增加数据块的大小,但我真的认为我的方法根本不是最优的!
频繁调用会notifyDataSetChanged()导致ListViewUI 无响应吗?
有没有办法只更新行Views中的一些ListView,即在我的情况下ProgressBar和TextView与进度的数值,而不调用notifyDataSetChanged(),更新整个列表?
更新下载任务的进度ListView,有没有比“getChunk/sendBroadcast/updateData/notifyDataSetChanged”更好的选择?
以下是我的代码的相关部分。
下载服务中的下载任务
SavedShowListFragment
SavedShowAdapter
android - 为 PinterestLikeAdapterView 调用 notifyDataSetChanged() 时如何避免刷新单元格?
背景
我正在使用PinterestLikeAdapterView 库来显示来自互联网的一些图像,这就像一个 gridView 但每个单元格的高度不同。
问题
因为我使用这个库来显示来自互联网的图像,所以在调用 notifyDatasetChanged 时不会导致视图混乱是至关重要的。
出于某种原因,调用此函数将调用 getView() 方法,并为视图提供不同的位置。例如,即使我根本没有滚动,并调用 notifyDatasetChanged(或 addAll,如果它是一个 ArrayAdapter),对于位置 0,它将采用位置 8 的视图,对于位置 1,它将采用位置视图7,以此类推……
这使得整个网格刷新它的图像,因此它破坏了用户体验。
通常,在gridView和listView中,克服刷新的方法是将视图使用的位置放在viewHolder中,如果相等,则表示它们仍然匹配。
例如:
但是,在这里他们以不同的顺序重用其他视图,所以这个技巧在这里不起作用。
由于这个问题,我不仅刷新了几乎所有可见视图,而且由于我使用DiskCacheLru 库,它会崩溃,因为它尝试使用 2 个线程将 2 个相同的 inputSteam 数据放入同一个键中。
问题
我能做些什么?这是库中的已知错误吗?
也许我正在使用一种不好的方法来克服刷新?
现在,我使用内存缓存来至少获取以前缓存的项目,但这更像是“治愈”而不是“疫苗”......
android - Android CardUI 库:在 Fragment 的 onResume 事件上刷新卡片内容
我在我的一个项目中使用CardUILib,我必须承认它很棒,但一直被困在一个问题上。我想在 Fragment 的 onResume 事件上更新所有堆叠的卡片内容。当 onResume 被调用时,我找不到刷新这些内容的方法。
我在想是否有像 notifyDataSetChanged 这样的方法,但无法为 CardsUiLib 找到这样的方法。请帮忙。
Gihib 链接: https ://github.com/Androguide/cardsui-for-android 库的另一个参考:http ://www.androidviews.net/2012/12/cardsui/