Activity之间的跳转以及数据传递

  Activity可以看成手机屏幕的一个页面(个人理解),往往开发中会遇到从一个Activity带着数据传递到另一个Activity,做过Web开发的都知道,要想从一个html页面传递参数到另外一个页面最简单的是 url= “http:\\www.google.com.hk?parmter=xxx"。 下面来看看Android的Activity之间的参数传递。

   首先创建一个activity_main.xml

View Code
<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/txtMsg"
        android:layout_width="fill_parent"
        android:layout_height="50px"
        android:text="将要传递的内容"
         />

    <Button
        android:id="@+id/btnsend"
        android:layout_width="fill_parent"
        android:layout_height="50px"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="54dp"
        android:text="跳转" />

</RelativeLayout>

在 MainActivity里面添加跳转的逻辑代码

    private Button btnsend;
    private EditText txtMsg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtMsg = (EditText) this.findViewById(R.id.txtMsg); //获取到文本编辑控件
        btnsend=(Button)this.findViewById(R.id.btnsend); //获取到文本编辑控件
        btnsend.setOnClickListener(new View.OnClickListener() {    //按钮监听事件
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(MainActivity.this,OtherOneActivity.class);
                intent.putExtra("name",txtMsg.getText().toString()); //设置要发送的数据
                startActivity(intent);
            }
        });
    }

最后建一个 OtherOneActivity 继承 Activity,用来接收数据

    private TextView labmsg;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        labmsg=new TextView(this);
        setContentView(labmsg);
        Intent intent=this.getIntent();
        String msg=intent.getStringExtra("name");
        labmsg.setText(msg);
    }

特别注意:一定要在AndroidManifest.xml中注册新建的Activity 

 <activity android:name=".OtherOneActivity" android:label="OtherOneActivity"></activity>

   

原文地址:https://www.cnblogs.com/cindyOne/p/2990315.html