初心者でもAndroidアプリ開発を1から学習できる1日集中入門セミナー。

8章 明示的インテント

8.2.1 画面遷移をおこなう簡単なアプリケーション

[Application Name] IntentTest

[Company Domain] intro.f1.co.jp

[Activity Name] IntentTestActivity

文字列リソースの修正

[フォルダ] res/values

[修正] strings.xml

<resources>
    <string name="app_name">IntentTest</string>

    <string name="action_settings">Settings</string>
    <string name="msg">画面遷移しました!</string>
    <string name="button1">次の画面へ</string>
    <string name="title_activity_second">SecondActivity</string>

    <string name="hello_world">Hello world!</string>

</resources>

画面レイアウトファイルの修正

[フォルダ] res/layout

[修正] activity_intent_test.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".IntentTestActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button1" />

</RelativeLayout>

[フォルダ] res/layout

[修正] second_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="jp.co.f1.intro.intenttest.SecondActivity">

    <TextView android:text="@string/msg" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

アクティビティファイルの修正

[フォルダ] java/jp.co.f1.intro.intenttest

[修正] IntentTestActivity

package jp.co.f1.intro.intenttest;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class IntentTestActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_intent_test);

        //ボタンのビューオブジェクトを生成
        Button button = (Button)findViewById(R.id.button1);

        class MyListener implements OnClickListener {

            @Override
            public void onClick(View v) {
                //インテントオブジェクトを生成
                Intent intent = new Intent(getApplicationContext(),SecondActivity.class);

                //インテントオブジェクトで設定したアクティビティに遷移
                startActivity(intent);
            }
        }

        //ビューオブジェクトとイベントリスナーの関連付け
        button.setOnClickListener(new MyListener());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_intent_test, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

■実行時

ch08_01_01

■ボタン押下時

ch08_01_02

8.3.1 別の値へ値を渡すアプリケーション

[Application Name] TransitionToOtherScreen

[Company Domain] intro.f1.co.jp

[Activity Name] TransitionToOtherScreenActivity

文字列リソースの修正

[フォルダ] res/values

[修正] strings.xml

<resources>
    <string name="app_name">TransitionToOtherScreen</string>

    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="button1">表示</string>
    <string name="title_activity_next">NextActivity</string>

</resources>

画面レイアウトファイルの修正

[フォルダ] res/layout

[修正] activity_transition_to_other_screen.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".TransitionToOtherScreenActivity" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button1" />

</LinearLayout>

[フォルダ] res/layout

[修正] activity_next_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp" />

</LinearLayout>

アクティビティファイルの修正

[フォルダ] java/jp.co.f1.intro.transitiontootherscreen

[修正] TransitionToOtherScreenActivity

package jp.co.f1.intro.transitiontootherscreen;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class TransitionToOtherScreenActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_transition_to_other_screen);

        Button button = (Button)findViewById(R.id.button1);
        class ButtonClickListener implements OnClickListener{

            @Override
            //ボタン押下処理
            public void onClick(View v) {
                //エディットテキストのビューオブジェクトを生成
                EditText editText = (EditText)findViewById(R.id.editText1);

                //エディットテキストに入力された文字を取得
                String str = editText.getText().toString();

                //インテントオブジェクトを生成
                Intent intent = new Intent(getApplicationContext(),NextActivity.class);

                //受け渡す値をインテントオブジェクトに設定
                intent.putExtra("INPUT_TEXT", str);

                //インテントオブジェクトで設定したアクティビティへ遷移
                startActivity(intent);
            }
        }
        button.setOnClickListener(new ButtonClickListener());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_transition_to_other_screen, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

[フォルダ] java/jp.co.f1.intro.transitiontootherscreen

[修正] NextActivity

package jp.co.f1.intro.transitiontootherscreen;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;


public class NextActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_next);

        //遷移元のインテントオブジェクトを取得
        Intent intent = getIntent();
        Bundle data =intent.getExtras();
        String str = data.getString("INPUT_TEXT");

        //テキストビューに文字をセット
        TextView textView = (TextView)findViewById(R.id.textView1);
        textView.setText(str);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_next, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

■実行時

ch08_02_01

■文字入力後ボタン押下時

ch08_02_02

8.3.2 自分自身の画面を呼び出すアプリケーション

[Application Name] TransitionToOneselfScreen

[Company Domain] intro.f1.co.jp

[Activity Name] TransitionToOneselfScreenActivity

文字列リソースの修正

[フォルダ] res/values

[修正] strings.xml

<resources>
    <string name="app_name">TransitionToOneselfScreen</string>

    <string name="action_settings">Settings</string>
    <string name="text1">■受け取ったメッセージ</string>
    <string name="text2">■渡すメッセージ</string>
    <string name="button1">送信</string>

</resources>

画面レイアウトファイルの修正

[フォルダ] res/layout

[修正] activity_display_message.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".TransitionToOneselfScreenActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/text1" />

    <TextView
        android:id="@+id/display_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/text2" />

    <EditText
        android:id="@+id/send_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button1" />

</LinearLayout>

アクティビティファイルの修正

[フォルダ] java/jp.co.f1.intro.transitiontooneselfscreen

[修正] TransitionToOneselfScreenActivity

package jp.co.f1.intro.transitiontooneselfscreen;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class TransitionToOneselfScreenActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_transition_to_oneself_screen);

        //インテントオブジェクトの生成
        Intent intent = getIntent();

        //アプリケーション実行直後は受け取る値が無いので、nullが代入される。
        Bundle bundle = intent.getExtras();

        if(bundle != null){
            //受け取った文字列を取り出す
            String msg = bundle.getString("MSG");

            //受けとった値の表示
            TextView textView = (TextView)findViewById(R.id.display_msg);
            textView.setText(msg);
        }

        Button button = (Button)findViewById(R.id.button);
        class MyListener implements OnClickListener{

            @Override
            //ボタン押下時の処理
            public void onClick(View v) {
                //エディットテキストで入力した文字列を取得
                EditText editText = (EditText)findViewById(R.id.send_msg);
                String msg = editText.getText().toString();

                //インテントオブジェクトを自身のアクティビティへ渡す
                Intent intent = new Intent(getApplicationContext(),TransitionToOneselfScreenActivity.class);
                intent.putExtra("MSG", msg);
                startActivity(intent);
            }
        }
        button.setOnClickListener(new MyListener());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_transition_to_oneself_screen, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

■実行時

ch08_03_01

■文字入力後ボタン押下時

ch08_03_02

8.4 <実習> 簡単アンケートアプリケーション(画面遷移版)

[Application Name] EnqueteResult

[Company Domain] intro.f1.co.jp

[Activity Name] EnqueteResultActivity

文字列リソースの修正

[フォルダ] res/values

[修正] strings.xml

<resources>
    <string name="app_name">EnqueteResult</string>

    <string name="action_settings">Settings</string>
    <string name="top_page">トップページへ戻る</string>
    <string name="version">バージョン情報</string>
    <string name="help">ヘルプ</string>
    <string name="name">名前</string>
    <string name="blood">血液型</string>
    <string name="blood_prompt">血液型を選択</string>
    <string name="sex">性別</string>
    <string name="man">男性</string>
    <string name="woman">女性</string>
    <string name="hobby">趣味</string>
    <string name="travel">旅行</string>
    <string name="sports">スポーツ</string>
    <string name="outdoor">アウトドア</string>
    <string name="shopping">ショッピング</string>
    <string name="button">送信</string>
    <string name="content">入力内容</string>
    <string name="title_activity_result_data">ResultDataActivity</string>

</resources>

スピナーリソースの修正

[フォルダ] res/values

[修正] arrays.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="blood">
        <item>A型</item>
        <item>B型</item>
        <item>AB型</item>
        <item>O型</item>
    </string-array>

</resources>

メニューリソースの修正

[フォルダ] res/menu

[修正] menu_enquete_result.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".EnqueteResultActivity">

    <item
        android:id="@+id/item1"
        android:title="@string/top_page" />

    <item
        android:id="@+id/item2"
        android:title="@string/version" />

    <item
        android:id="@+id/item3"
        android:title="@string/help" />

</menu>

画面レイアウトファイルの修正

[フォルダ] res/layout

[修正] activity_enquete_result.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".EnqueteResultActivity" >

    <TableLayout
        android:id="@+id/table1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:shrinkColumns="0"
        android:stretchColumns="1">

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/name" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="text"
                android:lines="1" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/sex" />

            <RadioGroup
                android:id="@+id/radioGroup1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <RadioButton
                    android:id="@+id/radioButton1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="@string/man" />

                <RadioButton
                    android:id="@+id/radioButton2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/woman" />
            </RadioGroup>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/blood" />

            <Spinner
                android:id="@+id/spinner1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:entries="@array/blood"
                android:prompt="@string/blood_prompt"
                android:spinnerMode="dialog" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/hobby" />

            <TableLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TableRow
                    android:id="@+id/tableRow5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <CheckBox
                        android:id="@+id/checkBox1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/travel" />

                    <CheckBox
                        android:id="@+id/checkBox2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/sports" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <CheckBox
                        android:id="@+id/checkBox3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/outdoor" />

                    <CheckBox
                        android:id="@+id/checkBox4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/shopping" />
                </TableRow>
            </TableLayout>
        </TableRow>

    </TableLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/table1"
        android:text="@string/button" />

</RelativeLayout>

[フォルダ] res/layout

[修正] activity_result_data.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/TableLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:shrinkColumns="0"
    android:stretchColumns="1" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/content"
        android:textSize="20sp" />

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:text="@string/name" />

        <TextView
            android:id="@+id/name_display"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sex" />

        <TextView
            android:id="@+id/gender_display"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/blood" />

        <TextView
            android:id="@+id/bloodtype_display"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hobby" />

        <TextView
            android:id="@+id/hobby_display"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

</TableLayout>

アクティビティファイルの修正

[フォルダ] java/jp.co.f1.intro.enqueteresult

[修正] EnqueteResultActivity

package jp.co.f1.intro.enqueteresult;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;


public class EnqueteResultActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_enquete_result);

        Button button = (Button)findViewById(R.id.button1);
        class ButtonClickListener implements OnClickListener{

            @Override
            public void onClick(View v) {
                //テキストエディットから値を取得
                EditText editText = (EditText)findViewById(R.id.editText1);
                String strText = editText.getText().toString();

                //ラジオボタンから値を取得
                RadioButton radioButton1 = (RadioButton)findViewById(R.id.radioButton1);
                RadioButton radioButton2 = (RadioButton)findViewById(R.id.radioButton2);
                String strRadioButton = null;
                if(radioButton1.isChecked()){
                    strRadioButton = radioButton1.getText().toString();
                }else if(radioButton2.isChecked()){
                    strRadioButton = radioButton2.getText().toString();
                }

                //スピナーから値を取得
                Spinner spinner = (Spinner)findViewById(R.id.spinner1);
                String strSpinner = spinner.getSelectedItem().toString();

                //チェックボックスから値を取得
                CheckBox[] check = new CheckBox[4];
                check[0] = (CheckBox) findViewById(R.id.checkBox1);
                check[1] = (CheckBox) findViewById(R.id.checkBox2);
                check[2] = (CheckBox) findViewById(R.id.checkBox3);
                check[3] = (CheckBox) findViewById(R.id.checkBox4);

                //取得した値を1つの文字列として変換
                String strCheck = "";
                for(int i=0; i< check.length; i++){
                    if(check[i].isChecked()){
                        strCheck += check[i].getText().toString()+",";
                    }
                }

                //最後の「,」を削除
                if(strCheck != "") {
                    strCheck = strCheck.substring(0,strCheck.length()-1);
                }

                //インテントを遷移先へ送信
                Intent intent = new Intent(getApplicationContext(),ResultDataActivity.class);
                intent.putExtra("NAME_DATA", strText);
                intent.putExtra("GENDER_DATA", strRadioButton);
                intent.putExtra("BLOOD_TYPE_DATA", strSpinner);
                intent.putExtra("HOBBY_DATA",strCheck);
                startActivity(intent);
            }
        }
        button.setOnClickListener(new ButtonClickListener());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_enquete_result, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.

        //メニューリソースIDを取得
        int id = item.getItemId();

        switch(id){
            case R.id.item1 :
                Toast.makeText(getApplicationContext(), "トップページへ戻ります", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item2 :
                Toast.makeText(getApplicationContext(), "バージョン情報 \nVersion 3.0", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item3 :
                Toast.makeText(getApplicationContext(), "ヘルプを表示します", Toast.LENGTH_SHORT).show();
                return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

[フォルダ] java/jp.co.f1.intro.enqueteresult

[修正] ResultDataActivity

package jp.co.f1.intro.enqueteresult;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;


public class ResultDataActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result_data);

        //インテントのオブジェクト化
        Intent intent = getIntent();
        Bundle data = intent.getExtras();

        //各データの取得
        String strEdit = data.getString("NAME_DATA");
        String strRadio = data.getString("GENDER_DATA");
        String strSpinner = data.getString("BLOOD_TYPE_DATA");
        String strCheckBox = data.getString("HOBBY_DATA");

        TextView nameView = (TextView)findViewById(R.id.name_display);
        TextView genderView = (TextView)findViewById(R.id.gender_display);
        TextView bloodView = (TextView)findViewById(R.id.bloodtype_display);
        TextView hobbyView = (TextView)findViewById(R.id.hobby_display);

        nameView.setText(strEdit);
        genderView.setText(strRadio);
        bloodView.setText(strSpinner);
        hobbyView.setText(strCheckBox);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_enquete_result, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.

        //メニューリソースIDを取得
        int id = item.getItemId();

        switch(id){
            case R.id.item1 :
                Toast.makeText(getApplicationContext(), "トップページへ戻ります", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item2 :
                Toast.makeText(getApplicationContext(), "バージョン情報 \nVersion 3.0", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item3 :
                Toast.makeText(getApplicationContext(), "ヘルプを表示します", Toast.LENGTH_SHORT).show();
                return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

■実行時

ch08_04_01

■ボタン押下時

ch08_04_02
PAGETOP
Copyright © 2015 FusionOne Co.,Ltd. All rights reserved.