PS:AndroidStudioへのレイアウト接続の概要(1)
次のアクティビティへのデータの受け渡し:
前のセクションを学習した後、インテントについてある程度理解しました。ただし、これまでは、単に
Intentを使用してアクティビティを開始してきました。実際、Intentは、アクティビティを開始するときにデータを渡すこともでき
ます。見てみましょう。
アクティビティの開始時にデータを渡すという考え方は非常に単純です。Intentは、putExtra()メソッドの一連のオーバーロードを提供します。これにより、Intentに渡すデータを一時的に保存
できます。別のアクティビティを開始した後は、必要なのはこれらを配置するには、データをインテントから取り出すことができます
。たとえば、MainActiviyに文字列がなく、このキャラクターカーをMain2
アクティビティに渡したい場合は、次のように記述できます
。button.setOnClickListener(new View.OnClickListener0 ){@Override public void onClick(View v){ String data = "Hello Main2Activity" Intent intent = new Intent(MainActivity.this、Main2Activity.class):intent.putExtra( "extra_data"、data); startActivity(intent):} ));ここでも明示的なIntentを使用してMain2Activicyを開始します。 putExtra()メソッドを渡しました
- 文字列。ここでのputExtra()メソッドは2つのパラメーターを受け取ることに注意してください。最初のパラメーターは、
後でインテントから値を取得するために使用されるキーであり、2番目のパラメーターは渡される実際のデータです。
次に、渡されたデータをMain2Acrivityで取り出して印刷します。コードは、次のとおりです。
package com.example.firstcode;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent=getIntent();
String data=intent.getStringExtra("extra_data");
Log.d("Main2Activity", data );
}
}
まず、getIntent()メソッドを介してSecondActivityを開始するために使用されるインテントを取得し、次に
getstring Extra()メソッドを呼び出し、対応するキー値を渡すと、渡されたデータを取得できます。ここでは、
文字列を渡すため、getstringExtra()メソッドを使用して送信データを取得します。整数データが渡される場合
はgetIntExtra()メソッドを使用し、ブールデータが渡される場合はgetBooleanExtra()メソッドを使用
します。
プログラムを再実行し、FirstActivityインターフェイスのボタンをクリックしてSecondActivityにジャンプし、logcatをチェックして、Main2ActivityがMainActivityから信号データを正常に受信したことを確認します。