onActivityResult 的用法

来源:互联网 发布:鄂州锦天软件 编辑:程序博客网 时间:2024/06/05 15:34
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();    }}
1 0
原创粉丝点击