2016-04-27 14 views
0

私はA ListViewといくつかのButtonsといくつかのArrayListStringを持つプロジェクトを持っています。 DB QueryからListViewを記入します。これは、読み込みに数秒かかるので、読み込みが終わると、エンドユーザは何かをして、StartActivity(myIntent)メソッド経由で次のアクティビティに進みます。 次のアクティビティに進むと、このアクティビティに戻り、DB Queryが発生し、数秒かかるため、ネットワークに問題があっても強制終了メッセージが表示されます。 このアクティビティのインスタンス全体を1回だけ保存するにはどうすればいいですか? 新しいアンドロイドには、どんな助けもありがたいです。アクティビティインスタンスを保存し、2番目に作成しないでください。

これは私のonCreate方法です:

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.type_of_dairy); 
    // all methods, views, initials and .... 
} 
+0

ここでdbクエリを作成していますか? onResumeで? – Wanted

+0

いいえ、onCreateでは、私はこのメソッドを持っています。 –

+0

あなたは私のコードをすべてonResumeメソッドで書くべきですか? –

答えて

1

場合はご使用の場合は、あなたがstartActivityメソッドを使用して、第2の活動からの最初の活動を開始する必要があるということです。

Intent intent = new Intent(this, FirstACtivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
//intent. // Your code here 
startActivity(intent); 

基本的には、このフラグ「FLAG_ACTIVITY_REORDER_TO_FRONTは」トップに既存のアクティビティをもたらす:あなたは前に既存の最初のアクティビティをもたらすために、次の操作を行うことができます。したがって、onCreate()メソッドは再度呼び出されず、問題は解決されます。このようなときにコードを実行したい場合は、アクティビティのメソッドonNewIntent()を使用して新しいインテントを処理し、変数/フィールドを初期化することができます。あなたが疑問を持っていれば教えてください。

+0

@T_O、それはあなたの問題を解決しましたか? – Wanted

+0

Thxさん、それは動作します。 –

関連する問題