-1

Androidアプリに問題があります。

私はを持っておりListView、これListViewはデータベースからデータを取得し、を介してそれをバインドしSimpleCursorAdapterます。

これで、データベースに新しいエントリを追加するためのボタンができました。次に、新しいインテントが開始され、新しいアイテムを作成してデータベースに追加します。追加後、新しいページに移動します。

今、私は次のものが欲しいです:

新しいページにアクセスして[戻る]ボタンを押すと、[新しいアイテムの作成]ページに転送されたくないので、スキップして直接に戻りListViewます。もう1つの問題は、がListView新しいエントリを表示する必要があることです。なんらかの方法で更新する必要があります。

これを実現する方法は?

4

2 に答える 2

1
  1. アイテムをデータベースに追加するために新しいインテントを作成するときはIntent.FLAG_ACTIVITY_NO_HISTORY、新しいインテントが履歴スタックに保持されないように設定してください。例: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 に答える