インテント操作を使用して、2 つのアクティビティ間のジャンプを完了できます。場合によっては、2 つのジャンプ アクティビティ間でデータを転送することも必要です。この記事では、Android 開発における基本的なアクティビティの転送について詳しく紹介します。データ メソッド
PutExtra() メソッドを呼び出す
アクティビティ間のデータ転送にはさまざまなタイプがあるため、複数のオーバーロードされた putExtra() メソッドが Inten クラスで提供されます。
具体的な使い方は以下の通りです。
putExtra() メソッドを通じて、渡されたデータをインテントに保存します
//创建一个意图并构造跳转对象
Intent intent=new Intent(this,SecondActivity.class);
//调用putExtra()方法
intent.putExtra("name","李华");//姓名
intent.putExtra("age",18);//性别
//启动SecondActivity活动
startActivity(intent);
getXxxExtra() メソッドを通じて渡されたデータを取得します。
//获取意图对象
Intent intent=getIntent();
//获取姓名
String name=intent.getStringExtra("name");
//获取年龄
String name=intent.getIntExtra("age",0);
これで、アクティビティ間のデータ転送の最初の方法が完了しました~
コードの 3 行目の説明は次のとおりです (読み飛ばしてください~)。
//获取年龄
String name=intent.getIntExtra("age",0);
2 番目のパラメータが 0 に設定されています。なぜですか? ここで、getIntExtra() メソッドのパラメータ定義を確認できます。
getIntExtra(String name,int defaultValue){
//
}
最初のパラメータはキー値で、2 番目のパラメータはデフォルト値を表し、putExtra() に age の値が渡されない場合にのみ age の値が割り当てられることを示します。
Bundle クラスを使用してデータを渡す
マップ インターフェイスと同様に、データはキーと値のペアの形式で保存されます。
例は次のとおりです。
//创建一个意图
Intent intent=new Intent();
//设置要跳转的Activity
intent.setClass(this,SecondActivity.class);
//创建一个Bundle对象
Bundle bundle=new Bundle();
//调用Bundle类中的putString()方法封装信息
bundle.putString("name","李华");//将姓名信息封装到Bundle中
bundle.putString("age","18");//将年龄信息封装到Bundle中
//将Bundle对象封装到Intent对象中
intent.putExtras(bundle);
//启动Avtivity活动
startActivity(intent);
SecondActivityでデータを取得するコードは以下のとおりです。
//获取Bundle对象
Bundle bundle=getIntent().getExtras();
//获取数据
String name=bundle.getString("name");
String age=bundle.getString("age");//注意此时age的类型不是int型,需要自行转换
これで、2 つのアクティビティ ジャンプ間のデータ転送の 2 番目の方法が完了しました~
役に立ったと思ったら、いいねを残して残してください〜