Android------startActivityForResult的详细用法

- 日理万妓 2022-08-07 14:56 312阅读 0赞
  1. package org.sunchao;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. import android.widget.TextView;
  9. public class TestStartActivityForResultActivity extends Activity implements
  10. OnClickListener {
  11. private TextView mText01;
  12. private TextView mText02;
  13. private Button button01;
  14. private Button button02;
  15. private Intent mIntent;
  16. private int requestCode;
  17. /** Called when the activity is first created. */
  18. @Override
  19. public void onCreate(Bundle savedInstanceState) {
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.main);
  22. mText01 = (TextView) findViewById(R.id.mText01);
  23. mText02 = (TextView) findViewById(R.id.mText02);
  24. button01 = (Button) findViewById(R.id.mButton01);
  25. button02 = (Button) findViewById(R.id.mButton02);
  26. button01.setOnClickListener(this);
  27. button02.setOnClickListener(this);
  28. mText01.setText("01");
  29. mText02.setText("02");
  30. mIntent = new Intent();
  31. mIntent.setClass(TestStartActivityForResultActivity.this,
  32. Activity02.class);
  33. }
  34. @Override
  35. public void onClick(View v) {
  36. switch (v.getId()) {
  37. case R.id.mButton01:
  38. // 请求码的值随便设置,但必须>=0
  39. requestCode = 0;
  40. startActivityForResult(mIntent, requestCode);
  41. break;
  42. case R.id.mButton02:
  43. requestCode = 2;
  44. startActivityForResult(mIntent, requestCode);
  45. break;
  46. default:
  47. break;
  48. }
  49. }
  50. // 回调方法,从第二个页面回来的时候会执行这个方法
  51. @Override
  52. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  53. String change01 = data.getStringExtra("change01");
  54. String change02 = data.getStringExtra("change02");
  55. // 根据上面发送过去的请求吗来区别
  56. switch (requestCode) {
  57. case 0:
  58. mText01.setText(change01);
  59. break;
  60. case 2:
  61. mText02.setText(change02);
  62. break;
  63. default:
  64. break;
  65. }
  66. }
  67. }

页面二:

  1. package org.sunchao;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. public class Activity02 extends Activity {
  6. private int resultCode = 0;
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity02);
  11. Intent mIntent = new Intent();
  12. mIntent.putExtra("change01", "1000");
  13. mIntent.putExtra("change02", "2000");
  14. // 设置结果,并进行传送
  15. this.setResult(resultCode, mIntent);
  16. // this.finish();
  17. }
  18. }

发表评论

表情:
评论列表 (有 0 条评论,312人围观)

还没有评论,来说两句吧...

相关阅读

    相关 docker详细基础

    Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。(我个人还是

    相关 map详细

    map的详细用法:       map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的

    相关 GIT详细

    1.初识GIT GIT:分布式版本控制系统 作用:源代码管理 好处:方便多人协同开发,方便版本控制 起源:辅助linux内核开发 现状:已经被微软收购 2.G

    相关 STL详细

    需要头文件 \include<algorithm> using namespace std;   这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二