问题标签 [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()
导致ListView
UI 无响应吗?
有没有办法只更新行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/