zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    THINKPAD E40部分问题解疑(抛砖引玉……)
    VS 智能感知失效问题的解决方法
    Distinct()通过使用默认的相等比较器对值进行比较返回序列中的非重复元素。
    dhl:阻止保存要求重新创建表的更改
    linq ef4.0 的联表 Include方法 代替联表操作
    l.cn 代码学习
    CSS解决未知高度垂直居中的问题
    Resharper 下载及使用方法
    网站大并发处理解决方案
    使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
  • 原文地址:https://www.cnblogs.com/wicrecend/p/4868594.html
Copyright © 2011-2022 走看看