2016年1月20日水曜日

Androidで別のActivity(画面)に移動する方法

目次へ



Androidで、あるActivityから別のActivityを開きたい時などには、Intentというクラスを使います。
IntentはOSであるAndroidに対して他のActivityを起動してほしいときに使うオブジェクトで、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>






にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

0 件のコメント:

コメントを投稿