非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Android開発】アプリ画面遷移の実装手順:Intentの使い方

      2025/12/08

Androidアプリ開発で2画面目のページ作成とメイン画面と2ページ目画面(サブ画面)との切り替え方法についてメモ。

2画面目の作成(xmlとclassファイルの新規作成)

2ページ目画面を作る場合はレイアウト(xml)とJava(class)ファイルの2つを追加する必要があります。いずれも各フォルダ上で右クリックして「New」-「layout Tesource File」、または「New」-「Java Class」を選択して追加しましょう。

ファイル名は「activity_show.xml」「ShowActivity.class」としました。

 

 

AndroidManifest.xml への画面登録

AndroidManifest.xml に ShowActivity(Class名)を登録します。

登録がない状態でページを呼び出すと、Androidシステムは対応するActivityクラスを見つけられずActivityNotFoundExceptionという実行時エラー(Runtime Exception)が発生し、アプリがクラッシュしてしまいます。

AndroidManifest.xmlを開き、<application>タグの中に以下の<activity>タグを追加してください。

<activity
    android:name=".ShowActivity"
    android:parentActivityName=".MainActivity"> <meta-data
    android:name="android.support.PARENT_ACTIVITY"
    android:value=".MainActivity" />
</activity>
 

 

メイン画面:ボタンイベントで2ページ目へ(Intent)

ボタン押下時に次のレイアウトページ(activity_show.xml)に移行するには、Intentを使用します。以下の通りボタンとonClickメソッドを実装し、以下のコードを追加してください。

Button nextBtn = findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, ShowActivity.class);
        startActivity(intent);
    }
});
 

 

サブ画面:ヘッダーの戻るボタンでメイン画面に戻る

activity_show.xmlに対応するJavaプログラムShowActivity.classの基本的な全文は以下のようになります。画面上部にヘッダーを付けて、そこに戻るボタン(ナビゲーションドロワーとは別の、通常の戻る矢印)を実装しています。

package com.example.<アプリのパッケージ名>;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

public class ShowActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show);
        // レイアウトから Toolbar を取得
        Toolbar myToolbar = findViewById(R.id.my_toolbar);
        // Toolbar をアクティビティの ActionBar として設定
        setSupportActionBar(myToolbar);
        // 戻るボタン(アップナビゲーションボタン)を有効化
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            // オプション: ヘッダーのタイトルを設定
            getSupportActionBar().setTitle("結果表示");
        }
}
 

 

実行例

結果はこんな感じです(AVD実行画面)。「←」をタップすると初期画面に戻ります。

 

スポンサーリンク

 - Androidプログラミング