Android中startactivity的用法是什么
startActivity()メソッドは、新しいアクティビティを開始するために用いられるAndroidの重要なメソッドです。通常、アプリケーションで異なる画面に切り替えたり、特定の操作を実行するときに使用されます。
startActivity() メソッドの一般的な使い方は 2 種類です。
- 新しいアクティビティを起動する:startActivity(Intent intent)メソッドで新しいアクティビティを起動できます。Intentオブジェクトをパラメータとして渡すことで、起動するアクティビティのクラス名またはアクションを指定し、オプションでいくつかの追加データを渡すことができます。
サンプルコード:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
この例では、MainActivity は startActivity() メソッドを呼び出して SecondActivity を起動しています。インテント オブジェクトには、起動するアクティビティのクラス名が指定されています。
- アクティビティを起動して結果を取得する: 時折、アクティビティを起動してそれから結果を返却する必要がある。startActivityForResult(Intent intent, int requestCode)メソッドを使用してアクティビティを起動し、アクティビティが完了したら結果を取得する。
サンプルコード:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
MainActivityがstartActivityForResult()メソッドでSecondActivityを起動して、requestCodeというリクエストコードを渡す時は、そのリクエストを識別するためのものです。SecondActivityが終了すると、結果としてMainActivityに返されます。
SecondActivityが終わると、MainActivityのonActivityResult()メソッドで結果を取得できます。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// 处理成功的结果
} else if (resultCode == RESULT_CANCELED) {
// 处理取消的结果
}
}
}
この例では、resultCodeの値によってSecondActivityが正常に終了したかキャンセルされたかを判別できます。
startActivity()メソッドには上記に示す一般的な使い方の他にも、用途に応じてさまざまなオーバーロードメソッドが用意されており、より複雑なニーズにも対応できます。