facebook twitter hatena line email

Android/画面遷移/メニューボタンから画面遷移

提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:13時点における127.0.0.1 (トーク)による版 (ページの作成:「==以下ファイルを作成する== androidHelloworldSub.java sub.xml ==AndroidManifest.xmlに以下を追加== <<nowiki />activity android:name="AndroidHelloworldS...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

以下ファイルを作成する

androidHelloworldSub.java
sub.xml

AndroidManifest.xmlに以下を追加

<activity android:name="AndroidHelloworldSub"></activity>

AndroidHelloworld.javaを編集

package com.example.AndroidHelloworld;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;

public class AndroidHelloworld extends Activity {
    /** メニューID  */
    private final int MENU_ID1 = Menu.FIRST;
    private final int MENU_ID2 = Menu.FIRST + 1;
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    /**
     * メニューを作成する
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        menu.add(0,
                MENU_ID1,
                0,
                getString(R.string.menu_next)).setIcon(android.R.drawable.ic_menu_crop);
        menu.add(0,
                MENU_ID2,
                1,
                getString(R.string.menu_finish)).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
        return true;
    }
   /**
     * メニューボタン押下時の処理
     */
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        return true;
    }
    /**
     * メニューを選択時の処理
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case MENU_ID1:
            // 次の画面に遷移させる
            Intent intent = new Intent();
            // intent.setClassName(
            //         "com.example.AndroidHelloworld",
            //         "com.example.AndroidHelloworld.AndroidHelloworldSub");
            intent.setClassName(getPackageName(), getPackageName() + ".AndroidHelloworldSub");
            startActivity(intent);
            return true;
        case MENU_ID2:
            // Activity終了
            finish();
            return true;
        default:
            break;
        }
        return super.onOptionsItemSelected(item);
    }
}

参考

http://www.techfirm.co.jp/lab/android/transition.html