0

コントロールを何らかのアクティビティに移動させてから戻ってくるアプリケーションを作成しています。その問題について検索したところ、 と を使用するOnPause()とこの問題を解決できることがOnResume()わかりましたが、それらの使用方法がわかりません。

これは、コントロールを他のアクティビティに転送するコードです。使い方OnPause()とその点を教えてください。よろしくお願いしますOnResume()

Intent intent = new Intent(MCQ.this,ConfigActivity.class);
            int ClassIndex = 2;
            intent.putExtra("ClassIndex", ClassIndex);
            startActivity(intent);
4

3 に答える 3

3

あなたはあまり意味がありません。を呼び出すとstartActivity()、Android は現在Activityのものをバックグラウンドに置き、新しいものを開始 (またはフォアグラウンドに移動)ActivityしますIntent

onPause()Activityが画面から消えたときに呼び出されます。システムはそれをバックグラウンドに置くか、終了します。

onResume()Activityあなたが画面に表示されるようになったときに呼び出されます。onCreate()Android が の新しいインスタンスを作成した後Activity、またはシステムがActivityバックグラウンドから戻ったときのいずれかです。

の間に明示的な制御の受け渡しはありませんActivities。アクティビティ スタック (デバイスの画面に表示されている) の一番上にある場合は、それを操作できます。

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

于 2012-07-30T13:01:41.283 に答える
1

onPause()とが何onResume()に使われるのか混乱するかもしれません。

onResume()アクティビティがユーザーにビューを表示しようとしているときに呼び出されます。このメソッドでインテントを使用すると、メインのアクティビティが即座にアクティビティに移動しClassIndexます。ただし、ClassIndexアクティビティを終了すると、onResume()が再度呼び出され、 に戻されClassIndexます。

onPause()アクティビティが終了するときに呼び出されます。これが画面をロックするためなのか、別の に移動するためなのかActivity。この場合、startActivityメイン アクティビティを呼び出すと、Android はonPause()新しいアクティビティに入る前にメイン アクティビティを呼び出します。

この場合、startActivityForResult()ClassIndexを使用して、それを使用して、アクティビティから戻ってくるかどうかを判断することができます。そうでない場合は、開始します。その場合は、メインのアクティビティに進みます。

より良い解決策は、アプリを起動してClassIndex、ユーザーがメイン アクティビティを使い終わったときにメイン アクティビティに移動することです。ClassIndexこれは、ユーザーがアプリに入るたびに移動したい場合に当てはまります。

于 2012-07-30T13:01:17.207 に答える
1

onPause()onResume()アンドロイドによって呼び出されます。
あなたの仕事は、これらのメソッドを実装することです。onPause と onStop は起動アクティビティで Android によって呼び出され、onCreate、onStart、および onResume は開始アクティビティで呼び出されます。戻りたい場合は、通常、デバイスの戻るボタンを押すだけです。Android devGuide、特にアクティビティのライフサイクルを
確認することをお勧めします。

于 2012-07-30T12:57:22.633 に答える