Android之Intent传递数据的方式
16lz
2021-01-24
学习了Android有一段时间了,我们经常会用到的就是启动另一个Activity,需要传递一些数据,记得刚开始学习Android时,那时啥都不知道,我在想怎么才能把数据传递给下一个页面的,那时感觉这个好神奇,废话不多说,带你们走进这神奇的世界。
一、startActivity启动,向下一个Activity传递数据:
在MainActivity代码如下:
//设置将要跳转的ActivityIntent intent=new Intent(MainActivity.this, FirstActivity.class);//获取输入的文本String num=etNum.getText().toString();//把数据放入到intent中intent.putExtra("number", num);//启动startActivity(intent);在FirstActivity中代码如下:
//获取IntentIntent intent=getIntent();//从Intent里面获取数据String show=intent.getStringExtra("number");//显示数据showNum.setText(show);效果图如下:
二startActivityForResult传递数据
在FirstActivity中,代码如下:
Intent intent = new Intent(FirstActivity.this, MainActivity.class); startActivityForResult(intent, REQUEST);// REQUEST代表请求码在接收方MainActivity中
//实例化一个intent Intent intent=new Intent(); //获取输入的文本 String num=etNum.getText().toString(); intent.putExtra("number", num); //设置返回结果 setResult(RESULT_OK, intent);//RESULT_OK响应码结果返回了,我们需要获取呀,这里我们就需要在FirstActivity。重写onActivityResult方法,来处理结果:
@Overrideprotected void onActivityResult(int requestCode, int resultCode,Intent intent) {// 判断请求码if (requestCode == REQUEST) {// 判断响应码if (resultCode == RESULT_OK) {// 获取数据String num = intent.getStringExtra("number");showNum.setText(num);}}super.onActivityResult(requestCode, resultCode, intent);}
其中有个地方要注意就是请求码REQUEST必须大于等于0,否则获取不到数据。
效果图:
两种传递方式就是这么简单,是不是学习过后感觉,原本神奇的东西,你也可以做出来呀!!
本人小菜鸟,如果有不对的地方,希望大牛们指出来,我会修正的,谢谢~~~
更多相关文章
- 解决 Android(安卓)中使用ListView和CheckBox批量操作时若干问题
- Android中SharedPreferences的使用(登陆,记住密码)
- Android点击Button切换多个图片显示
- android -- 小问题 Android(安卓)WebView缓存分析
- Android(安卓)如何远端调试framework和APK?
- 【Android】Handler的应用(一):从服务器端加载JSON数据
- Android的进阶学习(一)--Activity异常退出
- Android:Intent 显示和隐式 学习
- Android开发中如何使用绘制图表