目次へ
Androidで、あるActivityから別のActivityを開きたい時などには、Intentというクラスを使います。
IntentはOSであるAndroidに対して他のActivityを起動してほしいときに使うオブジェクトで、Activityを起動するための情報を持ちます。
注意
新しいActivityを追加する場合には、マニフェストに登録する必要があります。
|
■■■■2番目のActivityを呼び出すコード■■■■
ここでは、SecondActivityという名前のActivityクラスが作成されているものとします。Intentのコンストラクタの1番目の引数が呼び出し元Activityのインスタンスです。
2番目の引数が呼び出すActivityのClassオブジェクトです。
Intentのコンストラクタには、いろいろな引数のあるものがありますが、自分で作成した、 2番目のActivityを表示するためにはこのコンストラクタが使われることが多いようです。
Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); |
■■■■マニフェストに登録■■■■
新しくActivityを作った時にはそのクラスをマニフェストに登録する必要があります。追加するのは以下の ------- で囲った部分です。
android:nameで設定しているのが、新しいActivityのクラス名です。
SecondActivityクラスのパッケージは、manifestタグの中のpackageで指定したものと同じなので、.SecondActivityとしています。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.yoko.intenttest" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> --------------------ここから追加します <activity android:name=".SecondActivity" android:label="@string/app_name"> </activity> -------------------ここまで </application> </manifest> |
にほんブログ村
0 件のコメント:
コメントを投稿