Android中startactivity的用法是什么

startActivity()メソッドは、新しいアクティビティを開始するために用いられるAndroidの重要なメソッドです。通常、アプリケーションで異なる画面に切り替えたり、特定の操作を実行するときに使用されます。

startActivity() メソッドの一般的な使い方は 2 種類です。

  1. 新しいアクティビティを起動する:startActivity(Intent intent)メソッドで新しいアクティビティを起動できます。Intentオブジェクトをパラメータとして渡すことで、起動するアクティビティのクラス名またはアクションを指定し、オプションでいくつかの追加データを渡すことができます。

サンプルコード:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

この例では、MainActivity は startActivity() メソッドを呼び出して SecondActivity を起動しています。インテント オブジェクトには、起動するアクティビティのクラス名が指定されています。

  1. アクティビティを起動して結果を取得する: 時折、アクティビティを起動してそれから結果を返却する必要がある。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()メソッドには上記に示す一般的な使い方の他にも、用途に応じてさまざまなオーバーロードメソッドが用意されており、より複雑なニーズにも対応できます。

bannerAds