浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据

android studio 0.8.6;androd版本是4.*。

在android中,Activity可以看成一个窗口,一个视图,或者说一张网页。由于一个网站app可以有多个网页,所以一个android程序中也可以由多个Activity。网页之间可以通过GET、POST等传递数据,Activity之间也可以传递数据。

1、建立项目MyApplication


2、右击“res/layout”目录,创建一个新的空白Activity

新的activity,名称为MyActivity2。

浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据_第1张图片


3、修改布局文件

activity_my.xml内容修改为:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MyActivity">

    <Button
        android:id="@+id/button01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="进入MyActivity2" />

</RelativeLayout>


activity_my_2.xml内容修改为:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.letian.myapplication.MyActivity2">

    <TextView
        android:id="@+id/textview01"
        android:text=""
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>



4、修改java文件

MyActivity.java修改为:
package com.example.letian.myapplication;

import android.app.Activity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        final Button btn01 = (Button) this.findViewById(R.id.button01);

        btn01.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent it = new Intent(MyActivity.this, MyActivity2.class);
                Bundle bundle=new Bundle();
                bundle.putString("value", "This is from MyActivity!");
                it.putExtras(bundle);
                startActivity(it);
            }
        });
    }

}



MyActivity2.java修改为:
package com.example.letian.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;


public class MyActivity2 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_2);

        final TextView tv01 = (TextView) findViewById(R.id.textview01);

        Bundle bundle=getIntent().getExtras();
        String value=bundle.getString("value");

        tv01.setText(value);
    }

}



5、运行效果图

浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据_第2张图片

点击按钮“进入MyActivity2”,

浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据_第3张图片



更多


Android Activity和Intent机制学习笔记:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html

Android进阶2之Activity之间数据交流(onActivityResult的用法) :http://blog.csdn.net/sjf0115/article/details/7387467

你可能感兴趣的:(浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据)