1、不同Activity之间的数据传递:

MainActivity中:

EditText et_shengao=(EditText)findViewById(R.id.et_shengao);
RadioButton rb_gender_male=(RadioButton)findViewById(R.id.rb_gender_male);
Double shengao=Double.parseDouble(et_shengao.getText().toString().trim());
String gender="";
if(rb_gender_male.isChecked()){
gender="M";
}else{
gender="F";
}
//创建Intent
Intent intent=new Intent();
intent.setClass(MainActivity.this,MyActivity.class);
//创建Bundle对象,并绑定数据
Bundle bundle=new Bundle();
bundle.putDouble("shengao",shengao);
bundle.putString("gender",gender);
//将Bundle对象分配给Intent对象
intent.putExtras(bundle);
startActivity(intent);

MyActivity中:

//获取Intent中的bundle对象
Bundle bundle=this.getIntent().getExtras();
//取得bundle中的数据
String gender=bundle.getString("gender");
Double shengao=bundle.getDouble("shengao");
if("M".equals(gender)){
gender="男";
}else{
gender="女";
}
TextView tvResult=(TextView)this.findViewById(R.id.tv_result);
tvResult.setText("你是"+gender+"性"+",身高为"+shengao+" cm");

2、返回数据到前一Activity

MainActivity中将startActivity(intent),改为startActivityForResult(intent,0);

并重写方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(resultCode){
case RESULT_OK:
Bundle bundle=data.getExtras();
String gender=bundle.getString("gender");
et_shengao.setText(String.valueOf(bundle.getDouble("shengao")));
if("M".equals(gender)){
rb_gender_male.setChecked(true);
}else{
rb_gender_female.setChecked(true);
}
break;
default:
break;
}
}

MyActivity中Button事件中加入:

//返回Result到上一个Activity
MyActivity.this.setResult(RESULT_OK,intent);
//结束这个Activity
MyActivity.this.finish();

以下为弹出一个对话框当点击确定后再继续执行返回前一Activity:

Button btnBack=(Button)this.findViewById(R.id.btn_back);
btnBack.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
new AlertDialog.Builder(MyActivity.this).
setTitle(R.string.alertTitle).
setMessage(R.string.alertMsg).
setPositiveButton(R.string.alert_opt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//返回Result到上一个Activity
MyActivity.this.setResult(RESULT_OK,intent);
//结束这个Activity
MyActivity.this.finish();
}
}).show();
}
});

今天就到这儿吧,明天周末可以睡懒觉了,哈哈!皆さんお休みなさい

更多相关文章

  1. Android 使用数据库 SQlite
  2. 获取定位数据
  3. android获取网络数据
  4. Android 线程的结束,挂起和恢复
  5. Fragment与FragmentActivity间的数据通讯详细解决方案
  6. android之SQLite数据库insert操作
  7. 利用android自带的JSONObject解析json数据
  8. android 以编程的方式使用SQLite数据库 执行CRUD(创建 读取 更新
  9. android操作sqlite3的blob字段,显示数据中的图片

随机推荐

  1. Html css缩放会将大小改变几个像素
  2. 利用HTML5开发Android笔记
  3. J2EE进阶之onsubmit表单提交 五
  4. j2ee的web项目,有最终的html代码(即f12看到
  5. 仅使用CSS / HTML将鼠标悬停在按钮上时显
  6. 如何截取html的子字符串作为内容摘要
  7. vs远程调试 转http://www.cnblogs.com/ma
  8. 如何使用JavaScript修改基于onclick的文
  9. vue常见面试题
  10. pdf2htmlEX 安装与保持最新版本