您的位置:首页 > 其它

onActivityResult 的用法

2015-06-08 11:29 309 查看
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

/**
* @author lyl
*
*/
public class MainActivity extends Activity {
/**
* 请求时的标记
*/
private static final int REQUEST_CODE=1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

StartToB();

}

private void StartToB() {
Intent intent = new Intent(this, ClassB.class);
String passString = "Hello,this is A";
intent.putExtra("ToB", passString);
startActivityForResult(intent, REQUEST_CODE);
}

//回调
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (resultCode) {

// resultCode为回传的标记,B中回传的是RESULT_OK,也可判断请求时的标记requestCode

case RESULT_OK:

if (requestCode==REQUEST_CODE) {
Bundle b = data.getExtras(); // data为B中回传的Intent
String str = b.getString("FromB");// str即为回传的值
Log.e(">接收", str);
}

break;

default:

break;

}

}


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

/**
* @author lyl
*
*/
public class ClassB extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.second);

String result = getIntent().getStringExtra("ToB");

Intent intent = new Intent(ClassB.this, MainActivity.class);

String passString = "Hello,this is B";

intent.putExtra("FromB", passString);

setResult(RESULT_OK, intent);

finish();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: