我在片段中有一个自定义ListView,表示一系列活动。每个活动都保存在一个数据库中(我正在使用Parse),ListView中填充了数据库中的活动。片段中有一个添加按钮,用户可以将用户带到可以创建新Activity对象的屏幕。用户完成后,活动结束(我在Activity上调用finish()
),然后重新启动片段。问题是ListView没有刷新 - 在将用户发送到“活动创建”屏幕之前,它是相同的列表。
我尝试覆盖我的片段类中的onStart
和onResume
并调用notifyDataSetChanged()
或invalidateViews()
,但这两种方法都不起作用,列表视图不刷新,所以它包括刚刚由用户创建的新Activity。
答案 0 :(得分:0)
启动使用startActivityForResult()
添加活动的活动。覆盖listview片段中的onActivityResult()
以在用户完成添加活动时收到通知。然后,通过再次查询数据库或将新活动添加到适配器(取决于您实现listview适配器的方式)来刷新ListView
。
答案 1 :(得分:0)
在您的情况下,您似乎忘记了重新填充附加到listview生成视图的适配器的活动列表。
从头再次重新填充列表,然后调用notifyDataSetChanged();
。您的列表视图将使用新条目进行更新。
干杯