Android之启动一个activity并且获得回传数据

Android中,如果想要启动一个activity,可以用startActivity,或者是startActivityForResult(intent, GET_CODE)

如果是想要得到新的activity回传的数据的话,必须使用第二个方法startActivityForResult(intent, GET_CODE);

并且在原来的activity中覆写onActivityResult(int requestCode, int resultCode,Intent data)来对获取的数据进行处理

例如在原来的activity中有如下的代码对接受到的数据进行处理

   /**      * 该方法是回调方法,当startActivityForResult启动的activity结束后      *        * @param requestCode 传递给startActivity()的请求码      * @param resultCode 从启动的activity中,在setResult()设置的一个结果码,一般用来标识处理的结果      * @param data 用来接受传递过来的数据      */      @Override   protected void onActivityResult(int requestCode, int resultCode,       Intent data) {          if (requestCode == GET_CODE) {              Editable text = (Editable)mResults.getText();              if (resultCode == RESULT_CANCELED) {                  text.append("(cancelled)");              // Our protocol with the sending activity is that it will send               // text in 'data' as its result.               } else {                  text.append("(okay ");                  text.append(Integer.toString(resultCode));                  text.append(") ");                  if (data != null) {                      text.append(data.getAction());                  }              }              text.append("\n");          }      }  

在开启新的activity的时候,有下面的程序

//开启一个activity,并且想得到返回数据.  会连同GET_CODE一起返回    Intent intent = new Intent(ReceiveResult.this, SendResult.class);   startActivityForResult(intent, GET_CODE);  

在新的activity中有如下的程序

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwgxf.html