我的Android应用程序有问题。
我有一个ListView
,此ListView
从数据库中获取数据,然后通过SimpleCursorAdapter
绑定它。
现在我有一个向数据库添加新条目的按钮,然后启动一个新的intent并创建一个新项目并将其添加到数据库中。添加后,我转到新页面。
现在我想要以下内容:
当我到达新页面并按下后退按钮时,我不想转发到创建新项目页面,我想跳过它并直接返回ListView
。
另一个问题是ListView
应该显示新条目。它应该以某种方式刷新。
如何实现这一目标?
答案 0 :(得分:1)
当您创建新的Intent以将项目添加到数据库时,请确保设置Intent.FLAG_ACTIVITY_NO_HISTORY
以便新的Intent不会保留在历史记录堆栈中
例如:myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
当基础数据的适配器发生更改并且您希望更改反映在ListView中时,请调用适配器notifyDataSetChanged()
方法(在您的情况下,单击后退按钮)
例如:myAdapter.notifyDataSetChanged()
答案 1 :(得分:0)
首先,使用startActivityForResult()
启动您的活动(向数据库添加新元素),因此当该活动完成时(例如,通过按后退按钮),将调用onActivityResult()
回调调用活动(列表中的活动)。在此方法中,再次运行填充列表的查询,使用生成的游标创建新的SimpleCursorAdapter
,并通过setAdapter()
将其提供给列表。