-1

我的安卓应用有问题。

我有一个ListView,它ListView从数据库中获取数据,然后通过SimpleCursorAdapter.

现在我有一个按钮可以向数据库添加一个新条目,然后启动一个新意图,我创建一个新项目并将其添加到数据库中。添加后,我转到一个新页面。

现在我想要以下内容:

当我进入新页面时,我按下后退按钮,我不想被转发到创建新项目页面,我想跳过它直接回到ListView. 另一个问题是ListView应该显示新条目。它应该以某种方式刷新。

如何实现这一点?

4

2 回答 2

1
  1. 当您创建新的 Intent 以将项目添加到数据库时,请确保您设置Intent.FLAG_ACTIVITY_NO_HISTORY了新的 Intent 不会保留在历史堆栈中,例如:myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)

  2. 当适配器基础数据发生更改并且您希望更改反映在 ListView 中时,请调用适配器notifyDataSetChanged()方法(在您的情况下,单击后退按钮),例如:myAdapter.notifyDataSetChanged()

于 2012-09-24T13:30:32.410 回答
0

首先,使用 启动您的活动(向数据库添加新元素)startActivityForResult(),因此当该活动完成时(例如通过按下后退按钮),onActivityResult()将在调用活动(具有列表的活动)上调用回调。在此方法中,再次运行填充列表的查询,SimpleCursorAdapter使用结果光标创建一个新的,并通过setAdapter().

于 2012-09-24T13:29:28.983 回答