android 注册成功后返回账号和密码到登录界面,精辟讲解
16lz
2021-01-24
实现: 1>LoginActivity: Intent intent = new Intent(this, RegistActivity.class); //启动该Activity是为了获取对方回传的数据 startActivityForResult(intent, REQUEST_CODE_GO_TO_REGIST); 2>RegistAcitivty: //finish之前 回传给LoginActivity两个参数 //调用setResult方法 //把两个参数设置到intent中即可 Intent data=new Intent(); data.putExtra("name", name); data.putExtra("pwd", pwd); setResult(RESULT_OK, data) finish(); 3>LoginActivity: /** * startActivityForResult() * 当RegistActivity finish()后 将会自动调用 * 该onActivityResult方法。 * @param requestCode 请求码 * @param resultCode 结果码 * @param data 回传数据 */
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ switch (requestCode) { case REQUEST_CODE_GO_TO_REGIST: //判断注册是否成功 如果注册成功 if(resultCode==RESULT_OK){ //则获取data中的账号和密码 动态设置到EditText中 String name=data.getStringExtra("name"); String pwd=data.getStringExtra("pwd"); etName.setText(name); etPwd.setText(pwd); } break; }
}
注意:当 注册页面 启动模式=singTask, startActivityForResult 会直接调用onActivityResult ,
* 在RegisterActivity -setResult -finish 后,不再调用onActivityResult;
* 解决办法:1,更改 注册页面 lanchMode=standard|singleTop
* 2.监听onNewIntent ;注册页面 按照一般跳转 intent 传值,在登录界面 重写 onNewIntent 方法更新 UI
解决办法2: 注册页面:
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
//则获取intent中的账号和密码 动态设置到EditText中 String name=data.getStringExtra("name"); String pwd=data.getStringExtra("pwd"); etName.setText(name); etPwd.setText(pwd);
}
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ switch (requestCode) { case REQUEST_CODE_GO_TO_REGIST: //判断注册是否成功 如果注册成功 if(resultCode==RESULT_OK){ //则获取data中的账号和密码 动态设置到EditText中 String name=data.getStringExtra("name"); String pwd=data.getStringExtra("pwd"); etName.setText(name); etPwd.setText(pwd); } break; }
}
注意:当 注册页面 启动模式=singTask, startActivityForResult 会直接调用onActivityResult ,
* 在RegisterActivity -setResult -finish 后,不再调用onActivityResult;
* 解决办法:1,更改 注册页面 lanchMode=standard|singleTop
* 2.监听onNewIntent ;注册页面 按照一般跳转 intent 传值,在登录界面 重写 onNewIntent 方法更新 UI
解决办法2: 注册页面:
Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
intent.putExtra("name",regName);
intent.putExtra("pwd",regPwd);
startActivty(intent);
登录页面: @Overrideprotected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
//则获取intent中的账号和密码 动态设置到EditText中 String name=data.getStringExtra("name"); String pwd=data.getStringExtra("pwd"); etName.setText(name); etPwd.setText(pwd);
}
更多相关文章
- Android实现授权访问网页的方法
- 【Android】删除已知路径的文件或文件夹
- Android(安卓)Service两种启动方式
- Android(安卓)setbackgroundcolor()方法的使用
- Android设置界面之Preference
- Android(安卓)认识EventBus到原理解析
- android开发之onCreate( )方法详解
- Android(安卓)定时服务
- Android(安卓)桌面悬浮框