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);
        }
  • 相关阅读:
    sql server 2008 express 使用ip登陆 error:40 错误:2
    C#将Enum枚举映射到文本字符串
    Qt 自定义事件
    constexpr-C++11
    C++11 Lambda表达式(匿名函数)
    Qt5-调试器安装
    Qt5之坐标系统
    八大排序算法总结
    Qt之类反射机制
    Qt5之反射机制(内省)
  • 原文地址:https://www.cnblogs.com/wicrecend/p/4868594.html
Copyright © 2011-2022 走看看