HOME技術AndroidAndroidアプリ:画面遷移時に値を渡す

Androidアプリ:画面遷移時に値を渡す

Androidで画面遷移時に値を渡す方法です。

数値を渡す場合

MainActivity.java

public class MainActivity extends Activity {

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

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
           @Override
            public void onClick(View v){
               Intent intent = new Intent(getApplication(),QuestionActivity.class);
               intent.putExtra("question",1);
               startActivity(intent);
           }
        });
    }
}

activity_main.xml

<Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="ボタン"
    android:textSize="30sp"
    />

SubActivity.java

public class SubActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub);

        TextView text = (TextView)findViewById(R.id.text);
        Intent intent = getIntent();
        Integer data = intent.getIntExtra("question",0);
        text.setText(String.valueOf(data));

        Button backButton = findViewById(R.id.back);
        backButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
            }
        });
    }
}

activity_sub.xml

<TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="30dp"/>

<Button
    android:id="@+id/back"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:text="back"
    />

文字列を渡す場合

MainActivity.java

public class MainActivity extends Activity {

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

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
           @Override
            public void onClick(View v){
               Intent intent = new Intent(getApplication(),QuestionActivity.class);
               intent.putExtra("question","文字列");
               startActivity(intent);
           }
        });
    }
}

activity_main.xml

<Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="ボタン"
    android:textSize="30sp"
    />

SubActivity.java

public class SubActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub);

        TextView text = (TextView)findViewById(R.id.text);
        Intent intent = getIntent();
        String data = intent.getStringExtra("question");
        text.setText(data);

        Button backButton = findViewById(R.id.back);
        backButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
            }
        });
    }
}

activity_sub.xml

<TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="30dp"/>

<Button
    android:id="@+id/back"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:text="back"
    />

関連記事

Androidアプリを実機で確認する

AndroidアプリをAndroid Studioで開発した際に、実際のスマホの画面で動作確認する方法です。 スマホの設定 以下はArrows FX F-02Hの設定方法です(開発者向けオプションを表…続きを読む

Androidアプリ:背景に画像を指定する

Android Studioを使って、背景に画像を設定する方法です。 背景画像を格納する 今回は以下の画像を使います。 画像サイズなどは適当につくります。 Androidは様々な解像度がありますが、画…続きを読む

Androidアプリ:ボタンのテキストを変える

Androidでボタンのテキストをプログラム上で変える方法です。 MainActivity.java   Button button = findViewById(R.id.button);…続きを読む

Androidアプリ:ポリシー違反の警告への対応(APIレベル)

Google Play Console上で、アプリにポリシー違反の警告が表示されていました。 「お客様のアプリはGoogle Playデベロッパープログラムポリシーを遵守していないため、まもなく措置を…続きを読む

Androidアプリ:テキストをリスト表示する

Androidアプリで、ListViewを使い、配列に格納したテキストをリスト表示します。 MainActivity.java import android.app.Activity; import …続きを読む

Androidアプリ:ボタンを押すとメッセージが入れ替わる

Android StudioでAndroidアプリを試作します。 今回は「ボタンを1回押すとテキストの内容が変わり、もう1回押すと元に戻る」というだけのアプリをつくります。 プロジェクトの生成 And…続きを読む

Androidアプリ:Class ‘Anonymous class derived from OnItemClickListener’…のエラー

Android Studioで開発中に、ListViewを使っていて以下のようなエラーメッセージが出た場合の理由です。 Class ‘Anonymous class derived from OnIt…続きを読む

Androidアプリ:画面をタップしたら文字を入れ替える

画面をタップしたら文字を入れ替えるアプリをつくります。 今回はタッチイベントを取得する方法を調べました。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを…続きを読む

Androidアプリ:アイコンの下に表示されるテキストの設定

Androidアプリをインストールした後に、スマホ画面に生成されるアイコンの下に表示されるテキストの設定方法です。 AndroidManifest.xml AndroidManifest.xmlを開き…続きを読む

Androidアプリ:error: expected color reference but got (raw string)

Android Studioでビルドした際に、C:\android\project\***\app\src\main\res\values\styles.xml: AAPT: error: expec…続きを読む