首页 > 移动平台 > 详细

Android两个Activity之间的数据交换

时间:2015-10-11 00:26:54      阅读:371      评论:0      收藏:0      [点我收藏+]

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);
    }

 

Android两个Activity之间的数据交换

原文:http://www.cnblogs.com/wicrecend/p/4868594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!