今天小小地学习了Android中的Activity传值部分。
首先,Activity是Android四大组件之一,也是Android中最基本的模块之一,简单点说,Activity是用来与用户交互的。
参考课本,学习了Activity的传值,也深入体会了Activity的使用方法。
在本例中,创建了3个Activity,分别是MainActivity、ActivityB、ActivityC,分别有三个布局文件。MainActivity界面有2个按钮,分别跳转到ActivityB和ActivityC,其中用户可以在ActivityC界面输入字符串,点击“确认”按钮,可以将值传回到MainActivity界面,并显示出来。
1.Activity间的跳转使用了Intent组件(四大组件之一),并调用startActivity()方法启动:
Intent intent = new Intent(MainActivity.this,ActivityB.class);
startActivity(intent);
创建intent实现从MainActivity跳转到ActivityB。
2.为了实现Activity间的传值,调用了startActivityForResult()方法:
Intent _intent = new Intent(MainActivity.this,ActivityC.class);
startActivityForResult(_intent,100);
创建_intent实现从MainActivity跳转到ActivityC,并调用startActivityForResult将用户在ActivityC中输入的值回传给MainActivity,这里需要2个参数,另一个是requestCode常量,Android规定此常量为一个比〇大的值,这里简单地定义为100,此值在回调方法中将用到。
回调方法:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
这里需要3个参数,requestCode为前面定义的100,resultCode是ActivityC中返回的一个定义的常量,data是将用户输入的值存入Intent中。
*startActivity()在启动其他Activity后不会回调到原来的Activity,
startActivityRorResult()在启动其他Activity后会回调到原来的Activity。