android startActivityForResult(Intent intent, int requestCode)用法

来源:互联网 发布:程序员的电影 编辑:程序博客网 时间:2024/06/07 01:47

If you want to receive a result from the activity when it finishes,callstartActivityForResult(). Your activity receives the resultas a separateIntent object in your activity'sonActivityResult() callback.


主要是涉及到两个Activity之间的通信

1. MainActivity.java   onActivityResult()回调函数, 接收从NextActivity返回的结果值

<span style="font-size:10px;color:#993300;">private OnClickListener onClickListener = new View.OnClickListener() {@Overridepublic void onClick(View arg0) {Intent intent = new Intent(MainActivity.this, NextActivity.class);startActivityForResult(intent, 1);}};@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case 1:Bundle bundleData = data.getExtras();Log.d("MainActivity","000000000000 --- " + bundleData.getInt("num"));break;default:break;}super.onActivityResult(requestCode, resultCode, data);}</span>


2. NextActivity.java  setResult()传递结果值

<span style="font-size:10px;color:#993300;">finishButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {Intent intent = new Intent();Bundle data = new Bundle();data.putInt("num", 1);intent.putExtras(data);NextActivity.this.setResult(RESULT_OK, intent);NextActivity.this.finish();}});</span>


0 0