2011-01-08 8 views
1

onCreateサイクルとonStartサイクルの違いは何ですか? 私はこれらのサイクルのために適切なコードを書くのを混乱させました。 私のケースでは、データベースからデータを表示したり、データベースにデータを作成するためのその他のアクティビティを表示するための主要なアクティビティリストビューがあります。 データを作成するアクティビティは、listactivityによって呼び出されます。データの作成が成功した後、それはリスト・アクティビティに戻ります。そして、リストビューのデータを更新する必要があります。アンドロイドのライフサイクルごとに適切なコードを入力するにはどうすればよいですか?

onCreateメソッドで初期化データベース、カーソル、およびアダプタを配置すると、listActivityはデータの作成後に最新のデータを更新しません。 しかし、それをonStartメソッドに置くと、更新されます。

私の質問:この場合、すべての初期化をOnStartメソッドに置くのは正しいですか? 更新されたデータが1つある場合、各データベースレコードをリストビューに再初期化するのは高額になると思っています。

答えて

2

onCreateとonStartサイクルの違いは何ですか?

onCreate()は、アクティビティが初めて作成されたときに呼び出されます。 onStart()は、アクティビティが表示されるたびに呼び出されます(最初に作成されたとき(onCreate()の後)、停止から画面に戻った後(たとえば、別のアクティビティが画面を引き継いだときなど)が呼び出されます。

私はデータベースからのデータとデータベースへのデータを作成するためのその他のアクティビティを表示するための主なアクティビティリストビューを持っています。データを作成するためのアクティビティは、listactivityによって呼び出されます。データの作成が成功した後、それはリスト・アクティビティに戻ります。そして、リストビューのデータを更新する必要があります。

管理されたCursorを使用すると、自動的に行われます。 ActivitystartManagingCursor()を参照してください。

+0

ありがとうございます。今私の場合、私はstartManagingCursor()で初期化をonCreateに置くことができます。他のアクティビティからの更新データがあるたびに、更新されます。 – Faren

0

です。ユーザーがのアクティビティが表示されるたびにデータが再読み込みされるようにしますか?アクティビティはいの場合は、これらのメソッドをonStart()に追加する必要があります。最初の時点で値をロードしたい場合(一度オフジョブのように)、再ロードしたくない場合は、onCreateが適切な場所です。

onCreateとonStartの説明については、docoを参照してください。この図のリンクは便利です http://developer.android.com/guide/topics/fundamentals.html#actlife

+0

ありがとうございます。 – Faren

関連する問題