标签:跳转 bundle intent Bundle Activity Intent 数据
Activity之间通信、跳转(Intent)
1.不带数据跳转
Intent intent = new Intent() ;
// Intent intent = new Intent(MainActivity.this,SecondActivity.class) ;
intent.setClass(MainActivity.this,SecondActivity.class) ;
startActivity(intent);
2.带数据或多个数据
2.1跳转
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
//容器
Bundle bundle = new Bundle() ;
//往 Bundle 容器里面添加数据
bundle.putInt("number",123456789);
bundle.putString("string","Hello World");
//绑定 intent
intent.putExtras(bundle) ;
startActivity(intent);
2.2接收
//获取 Intent
Intent intent = getIntent();
//获取 Bundle 容器
Bundle bundle = intent.getExtras() ;
//从 Bundle 容器中取出数据
String s = bundle.getString("string") ;
int i = bundle.getInt("number") ;
3带数据跳转,带数据返回
3.1带数据跳转
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
//容器
Bundle bundle = new Bundle() ;
//往 Bundle 容器里面添加数据
bundle.putString("string","Hello World");
//绑定 intent
intent.putExtras(bundle) ;
startActivityForResult(intent,101);
同时要实现 onActivityResult 方法来接收处理返回的数据
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//根据 requestCode 和 resultCode 来判断是否是对应的 Activity 跳转、返回的数据,进行处理。
if (requestCode == 101 && resultCode == 202){
String s = data.getStringExtra("back") ;
Log.e("s=====",s) ;
}else {
Log.e("返回的数据:","不见了???");
}
}
3.2接收处理数据,并带上数据返回(到3.1 onActivityResult方法中处理返回的数据)
//获取 Intent
Intent intent = getIntent();
//获取 Bundle 容器
Bundle bundle = intent.getExtras() ;
//从 Bundle 容器中取出数据
String s = bundle.getString("string") ;
//处理数据
Log.e("string : ",s) ;
// intent 添加数据,并返回
intent.putExtra("back","返回的数据");
setResult(202,intent);
标签:跳转,bundle,intent,Bundle,Activity,Intent,数据 来源: https://blog.csdn.net/m0_57896648/article/details/119360107
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。