Android 之startActivityForReult 与 onActivityResult简介
来源:互联网 发布:linux 挂载分区成功 编辑:程序博客网 时间:2024/05/21 19:25
startActivityForResult与startActivity的不同之处在于:
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。
相关函数:
startActivityForResult(Intent intent, Int requestCode)
setResut(int resultCode, Intent intent)
onActivityResult(int requestCode, int resultCode, Intent intent)
-----------MainActivity----------------------------------------------
public class MainActivity extends Activity {
TextView t;
public static final int REQUSET = 110; //一定要>=0
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = (TextView)findViewById(R.id.toOther);
Button b = (Button)findViewById(R.id.toOther_btn);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent();
in.setClass(getApplicationContext(), OtherActivity.class);
startActivityForResult(in, REQUSET);
}
});
}
/**--requestCode:请求码 resultCode:结果码,用于标识返回数据来自哪个新Activity */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUSET && resultCode == OtherActivity.RESULT_OK){
String str = "帐号:"+data.getStringExtra(OtherActivity.KEY_USER_ID)+"\n密码:"
+data.getStringExtra(OtherActivity.KEY_USER_PASSWORD);
t.setText(str);
}
Toast.makeText(getApplicationContext(), "requestCode=" + requestCode + "::::" + "resultCode=" +resultCode, Toast.LENGTH_LONG).show();
}
}
------------------OtherActivity--------------------------------------------------------------------
public class OtherActivity extends Activity {
EditText eID ;
EditText ePASSWORD ;
Button b;
public static final String KEY_USER_ID = "USER_ID";
public static final String KEY_USER_PASSWORD = "USER_PASSWORD";
public static final int RESULT_OK = 111;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other);
eID = (EditText)findViewById(R.id.user_ID);
ePASSWORD = (EditText)findViewById(R.id.user_PASSWORD);
b = (Button)findViewById(R.id.toMain_btn);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent();
in.putExtra(KEY_USER_ID, eID.getText().toString());
in.putExtra(KEY_USER_PASSWORD, ePASSWORD.getText().toString());
setResult(RESULT_OK,in);
finish();
}
});
}
}
- Android 之startActivityForReult 与 onActivityResult简介
- Android:startActivityForResult 与 onActivityResult
- android菜瓜笔记之onActivityResult 的作用与用法
- Activity之onActivityResult与setResult
- android基础——startActivityForResult()与onActivityResult()
- android Activity数据传递onActivityResult与setResut
- Android Activity 中 onActivityResult() 与 setResult()
- android中Activity传递参数之onActivityResult
- android基础之onActivityResult不执行问题
- 学习Android之第二个小程序(startActivityForResult与onActivityResult)
- android onActivityResult
- Android onActivityResult
- Android-onActivityResult
- Android onActivityResult
- startActivityForResult和onActivityResult简介
- startActivityForResult和onActivityResult简介
- Android Activity 中 onActivityResult() 与 setResult()的调用时机
- Android的Activity的launchMode与onActivityResult方法的关系
- 2016-百度之星-资格赛-Problem B【高精度】
- STM32F103时钟系统:系统时钟配置为56M,有哪些配置方法
- linux内核编译
- BigDecimal 乘法问题
- hjr理解-CPU,MCU,MPU,DSP,MCU,ARM.SOC,SOPC,FPGA
- Android 之startActivityForReult 与 onActivityResult简介
- Android——SharedPreferences存储数据方式
- 51 NOD:1225 余数之和(推公式)
- iOS8 屏幕横竖屏分析
- 富文本字符串颜色改变效果
- iOS - Xcode -Target , PROJECT 区别
- Blade模板引擎-常用语法格式
- 在前端弹出后台的错误信息
- java操作<Map转换List——>list集合重新排序—>List集合转换成JSON>