zoukankan      html  css  js  c++  java
  • Activity 之间调用与参数传递

    点击按钮跳转到另一个Activity2

    button2 = (Button) findViewById(R.id.button2);
            button2.setOnClickListener(listener2);

    listener2 = new OnClickListener() {
            public void onClick(View v) {
                setTitle("这是在ActivityMain");
                Intent intent2 = new Intent(ActivityMain.this, Activity2.class);
                startActivity(intent2); //启动这个动作

            }
        };


    Intent是什么?

    Intent是一个动作的描述类,里面封装了这个动作。

    Intent可以启动一个Activety、可以启动一个Service、可以启动一个Event

    结束一个Activity

    listener = new OnClickListener() {
                public void onClick(View v) {
                    finish();
                }
            };
            button = (Button) findViewById(R.id.button4);
            button.setOnClickListener(listener);
            setTitle("现在是在Activity2里");

    两个Activity 之间传值与返回值

    button1 = (Button) findViewById(R.id.button1);
            button1.setOnClickListener(listener1);

    listener1 = new OnClickListener() {
                public void onClick(View v) {
                    Intent intent1 = new Intent(ActivityMain.this, Activity1.class);
                    intent1.putExtra("activityMain", "数据来自activityMain"); //将名值对写入Extra变量
                    startActivityForResult(intent1, REQUEST_CODE); // 可回调onActivityResult方法的一次跳转。//第二个参数是一个整形值,用来在回调函数里面判定是那个操作的返回,这个值不能为0
                }
            };

    //获取返回的值

    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == REQUEST_CODE) {
                if (resultCode == RESULT_CANCELED)
                    setTitle("取消");
                else if (resultCode == RESULT_OK) {
                    String temp=null;
                     Bundle extras = data.getExtras();
                        if (extras != null) {
                            temp = extras.getString("store");//取出里面的名字为“store”的值
                        }
                    setTitle(temp);
                }
            }
        }

    //接收发过来的值

    Bundle extras = getIntent().getExtras();//返回调用它的Intent,返回其中的Extras,类型为Bundle,这个类型是名字对的封装只是他的值只能是简单类型和数组
                if (extras != null) {
                     data = extras.getString("activityMain");//获得名字为activityMain 的值
                }
            setTitle("现在是在Activity1里:"+data);

    //返回一值,给调用自己的Activity

    listener1 = new OnClickListener() {
                public void onClick(View v) {
                    Bundle bundle = new Bundle();
                    bundle.putString("store", "数据来自Activity1");
                    Intent mIntent = new Intent();
                    mIntent.putExtras(bundle);
                    setResult(RESULT_OK, mIntent);
                    finish();
                }
            };

  • 相关阅读:
    package的使用
    package的使用
    访问控制符详解
    访问控制符详解
    继承
    Java 重写 & 重载 & super 关键字
    继承和权限控制
    错误: 程序包com.bjsxt.java140不存在
    package和import语句
    static关键字
  • 原文地址:https://www.cnblogs.com/finehappy/p/2023825.html
Copyright © 2011-2022 走看看