Android两个Activity之间的数据交换

1. 不带数据

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        next.setOnClickListener(new Button.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent();
                intent.setClass(MainActivity.this, Second.class);
                startActivity(intent);    
            }
        });
    }

2. 第一个Activity中数据传给第二个Activity

发送端

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        content=(EditText)findViewById(R.id.content);
        next.setOnClickListener(new Button.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String name=content.getText().toString();
                Intent intent=new Intent();
                intent.putExtra("name", name);
                //Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
                intent.setClass(MainActivity.this, Second.class);
                startActivity(intent);    
            }
        });
    }

接收端

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        name=(TextView)findViewById(R.id.name);
        age=(EditText)findViewById(R.id.age);
        back=(Button)findViewById(R.id.back);
        
        Intent intent=getIntent();
        String na=intent.getStringExtra("name");
        //Toast.makeText(Second.this, na, Toast.LENGTH_SHORT).show();
        name.setText(na);
    }

3. 第二个Activity把数据传给第一个Activity

第一个Activity

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        content=(EditText)findViewById(R.id.content);
        next.setOnClickListener(new Button.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String name=content.getText().toString();
                Intent intent=new Intent();
                intent.putExtra("name", name);
                //Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
                intent.setClass(MainActivity.this, Second.class);
                startActivityForResult(intent, RESULT_CODE);    
            }
        });
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==RESULT_CODE){
            if(resultCode==Second.RESULT_CODE){
                Bundle bundle=data.getExtras();
                String con=bundle.getString("age");
                content.setText(con);
            }
        }
        
    }

第二个Activity

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        name=(TextView)findViewById(R.id.name);
        age=(EditText)findViewById(R.id.age);
        back=(Button)findViewById(R.id.back);
        back.setOnClickListener(new Button.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String a=age.getText().toString();
                Intent intent=new Intent();
                Bundle bundle=new Bundle();
                bundle.putString("age", a);
                intent.putExtras(bundle);
                setResult(RESULT_CODE, intent);
                finish();
            }
        });
        
        Intent intent=getIntent();
        String na=intent.getStringExtra("name");
        //Toast.makeText(Second.this, na, Toast.LENGTH_SHORT).show();
        name.setText(na);
    }

 

posted @ 2015-10-10 23:07  Wicrecend  阅读(605)  评论(0编辑  收藏  举报
TOP