码迷,mamicode.com
首页 > 移动开发 > 详细

Android 两个Activity间的传值与回传值

时间:2017-07-06 20:57:15      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:sage   keycode   err   按钮   ted   返回   其他   putextra   事件   

MainActivity.java

  Intent intent = new Intent();
  intent.putExtra("message", "传到SecondActivity的值");
  intent.setClass(MainActivity.this, SecondActivity.class);
  /*
   * 如果希望启动另一个Activity,并且希望有返回值,则需要使用startActivityForResult这个方法,
   * 第一个参数是Intent对象,第二个参数是一个requestCode值,如果有多个按钮都要启动Activity,则requestCode标志着每个按钮所启动的Activity
   */
  startActivityForResult(intent, 1000);


  /**
   * 所有的Activity对象的返回值都是由这个方法来接收
   * requestCode: 表示的是启动一个Activity时传过去的requestCode值
   * resultCode:表示的是启动后的Activity回传值时的resultCode值
   * data:表示的是启动后的Activity回传过来的Intent对象
   */
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data)
  {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == 1000 && resultCode == 1001)
    {
      String result_value = data.getStringExtra("result");
    }
  }


SecondActivity.java

  在onCreate方法中接收,其他方法中也能接收
  String mainString = getIntent.getStringExtra("message");


  // 重写返回事件
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
      Intent intent = new Intent();
      intent.putExtra("result", result);
      /*
       * 调用setResult方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象,
       */
      setResult(1001, intent);
      return true;
    }
    return super.onKeyDown(keyCode, event);
  }

Android 两个Activity间的传值与回传值

标签:sage   keycode   err   按钮   ted   返回   其他   putextra   事件   

原文地址:http://www.cnblogs.com/grein/p/7125206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!