0

Android アプリには 2 つのアクティビティがあります。

最初: MainActivity

2 番目: AddNewDataActivity

MainActivity には ListView があります。ユーザーは、[追加] ボタンをクリックして、新しいリスト ビュー アイテムを作成できます。ユーザーが [追加] ボタンをクリックすると、AddNewDataActivity が開かれ、ユーザーは詳細を入力して作業を保存します。作業を保存すると、アクティビティが終了し、MainActivity が前面に表示されます。

ここで、MainActivity が前面に出る前に、ListView の項目を更新したいと思います。

4

2 に答える 2

1

AddNewActivity で作成したオブジェクトをシリアル化し、結果としてメイン アクティビティに渡す必要があります。1) startActivityForResult(Intent) で 2 番目のアクティビティを開始します。2) 2 番目のアクティビティで終了を呼び出す前に、オブジェクトを (json として) シリアル化し、setResult() を介してバンドル エクストラとして結果に配置します。3) MainActivity で onActivityResult をオーバーライドし、結果からデータを解析して、オブジェクトを ArrayList または使用する任意のデータ構造に追加します。

それを行う別の方法があります。データを含むArrayListを持つシングルトンを使用し、2番目のアクティビティを閉じる前にオブジェクトをそのArrayListに追加し、int onActivityResultはListViewを更新するだけです

onActivityResult の処理方法は次のとおりです。 アクティビティ間でデータを転送する

于 2013-10-24T12:08:13.750 に答える