androidの画面遷移をどのように実現するか
Androidでは、画面遷移を以下のように実装できます。
- Intentを使って画面遷移を行う:Intentオブジェクトを作成し、遷移先のActivityのクラス名を指定してstartActivity()メソッドを呼び出すことで遷移を行う。
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
startActivity(intent);
- 明示的なインテントを使ってデータを渡して遷移:インテントのputExtra()メソッドでデータを渡して、遷移先のアクティビティでgetIntent()メソッドで引き渡されたデータを取得
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
intent.putExtra("key", value);
startActivity(intent);
ターゲットアクティビティからデータをフェッチする:
Intent intent = getIntent();
String value = intent.getStringExtra("key");
- インテントのエクストラパラメータにactionとcategoryを設定し、そのインテントを使用してstartActivity()を呼び出します。
対象ActivityのAndroidManifest.xmlに下記を設定する:
<activity
android:name=".TargetActivity"
android:label="TargetActivity">
<intent-filter>
<action android:name="com.example.ACTION_TARGET" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
現在のアクティビティ内で遷移を行います。
Intent intent = new Intent("com.example.ACTION_TARGET");
startActivity(intent);
- アクティビティでFragmentTransactionのreplace()メソッドを用いて、現在のフラグメントを目的のフラグメントに置き換えて画面遷移を行う
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, new TargetFragment());
transaction.addToBackStack(null);
transaction.commit();
レイアウトファイルのR.id.fragment_containerは、フラグメントを表示するためのコンテナです。
上記はAndroidで画面遷移を実現する一般的な方法で、具体的な要件とシーンに基づいて適切な方法を選択して遷移を行います。