返回数据到前一个Activity---startActivityForResult方法
2012-09-03 16:34
411 查看
参考android SDK开发范例大全
startActivityForResult方法可以从第二个Activity返回数据给到第一个Activity。startActivityForResult(intent,0),其中0为下一个Activity要返回值的依据,可指定为自行定义的参考标识符。程序重写了onActivityResult()这个方法,令程序在收到result后,再次重新加载写回原本输入的值。
参考链接点击打开链接
大熊爱猫猫
startActivityForResult方法可以从第二个Activity返回数据给到第一个Activity。startActivityForResult(intent,0),其中0为下一个Activity要返回值的依据,可指定为自行定义的参考标识符。程序重写了onActivityResult()这个方法,令程序在收到result后,再次重新加载写回原本输入的值。
参考链接点击打开链接
package irdc.ex03_11; /* import相关class */ import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; public class EX03_11 extends Activity { private EditText et; private RadioButton rb1; private RadioButton rb2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 加载main.xml Layout */ setContentView(R.layout.main); /* * 以findViewById()取得Button对象,并加入onClickListener */ Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* 取得输入的身高 */ et = (EditText) findViewById(R.id.height); double height = Double.parseDouble(et.getText().toString()); /* 取得选择的性别 */ String sex = ""; rb1 = (RadioButton) findViewById(R.id.sex1); rb2 = (RadioButton) findViewById(R.id.sex2); if (rb1.isChecked()) { sex = "M"; } else { sex = "F"; } /* new一个Intent对象,并指定class */ Intent intent = new Intent(); intent.setClass(EX03_11.this, EX03_11_1.class); /* * new一个Bundle对象,并将要传递的数据传入 */ Bundle bundle = new Bundle(); bundle.putDouble("height", height); bundle.putString("sex", sex); /* 将Bundle对象assign给Intent */ intent.putExtras(bundle); /* 调用Activity EX03_11_1 */ startActivityForResult(intent, 0); } }); } /* 重写 onActivityResult() */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (resultCode) { case RESULT_OK: /* 取得数据,并显示于画面上 */ Bundle bunde = data.getExtras(); String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); et.setText("" + height); if (sex.equals("M")) { rb1.setChecked(true); } else { rb2.setChecked(true); } break; default: break; } } }
package irdc.ex03_11; /* import相关class */ import java.text.DecimalFormat; import java.text.NumberFormat; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class EX03_11_1 extends Activity { Bundle bunde; Intent intent; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入mylayout.xml Layout */ setContentView(R.layout.myalyout); /* 取得Intent中的Bundle对象 */ intent = this.getIntent(); bunde = intent.getExtras(); /* 取得Bundle对象中的数据 */ String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); /* 判断性别 */ String sexText = ""; if (sex.equals("M")) { sexText = "男性"; } else { sexText = "女性"; } /* 取得标准体重 */ String weight = this.getWeight(sex, height); /* 设定输出文字 */ TextView tv1 = (TextView) findViewById(R.id.text1); tv1.setText("你是一位" + sexText + "\n你的身高是" + height + "公分\n你的标准体重是" + weight + "公斤"); /* 以findViewById()取得Button对象,并加入onClickListener */ Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* 回传result回上一个activity */ EX03_11_1.this.setResult(RESULT_OK, intent); /* 关闭activity */ EX03_11_1.this.finish(); } }); } /* 四舍五入的method */ private String format(double num) { NumberFormat formatter = new DecimalFormat("0.00"); String s = formatter.format(num); return s; } /* 以findViewById()取得Button对象,并加入onClickListener */ private String getWeight(String sex, double height) { String weight = ""; if (sex.equals("M")) { weight = format((height - 80) * 0.7); } else { weight = format((height - 70) * 0.6); } return weight; } }
大熊爱猫猫
相关文章推荐
- Android中返回数据到前一个Activity — startActivityForResult方法
- startActivityForResult 方法 返回数据到前一个 Activity
- Android入门--返回数据到前一个Activity--startActivityForResult 方法
- Android中返回数据到前一个Activity — startActivityForResult方法
- 返回数据到前一个Activity--startActivityForResult
- Android返回数据给上一个活动-startActivityForResult
- 返回数据到前一个activity-startActivityForResult
- 方法onActivityResult,返回数据给上一个活动(Activity)
- 【数据】Activity数据返回——startActivityForResult()用法详解
- Android------startActivityForResult的详细用法--返回数据
- Android学习之使用startActivityForResult()和onActivityResult()进行跳转并返回数据
- 两个activity之间传递数据用startActivityForResult方法。
- Android中Activity数据返回(使用startActivityForResult)
- android 利用startActivityForResult()方法得到另一个Activity的返回值
- Android关于又返回的跳转 startActivityForResult()方法
- startActivityForResult方法解决Activity之间数据的保存问题
- Android中的startActivityForResult启动活动并取得返回数据的使用
- 从Activity中返回数据--startActivityForResult的使用..
- Activity数据返回 startActivityForResult()用法详解
- Activity回传数据方法startActivityForResult onActivityResult