点击按钮跳转到另一个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();
            }
        };

posted on 2011-04-21 17:41  冯瑞涛  阅读(1095)  评论(0编辑  收藏  举报