• Android Activity之间跳转和参数传递


    创建Activity

    1,新创建的activity需要继承Activity类,并重写onCreate方法

    package com.example.testsend;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity{
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.newtest);     
        }
        
    }

    2,创建好这个新的Activity之后,需要将这个新的Activity配置到AndroidManifest.xml中

    <activity android:name="com.example.testsend.MainActivity">
    </activity>

    Activity之间通信

    如果我们要通过一个Activity来启动另一个Activity,可以使用startActivity(Intent intent)方法来传入一个Intent对象

    Intent intent = new Intent(this, MainActivity2.class);
    startActivity(intent);
    
    //or 
    
    Intent intent = new Intent();
    intent.setClass(MainActivity.this, MainActivity2.class);
    startActivity(intent);

    如果通过点击MainActivity上的一个button来打开MainActivity2

    设置一个button元素

    <Button 
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button for opening"
            android:onClick="open"
    />

    在MainActivity中设置该open方法

    public void open(view v){
         Intent intent = new Intent(MainActivity.this, MainActivity2.class);
         startActivity(intent);
    }

    打开新的Activity并传递参数

    在MainActivity上传递参数

    public void open(View v){
        Intent intent =new Intent(MainActivity.this,MainActivity2.class);
        
        //用Bundle携带数据
        Bundle bundle=new Bundle();
    
        //传递name参数为wayne
        bundle.putString("name", " wayne");
    
        intent.putExtras(bundle);
        
        startActivity(intent);        
    }

    在MainActivity2上接收参数

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.newtest);   
            
            //新页面接收数据
            Bundle bundle = this.getIntent().getExtras();
    
            //接收name值
            String name = bundle.getString("name");
    
            Log.i("获取到的name值为",name);     
    }
    CrazyQA
  • 相关阅读:
    前端之CSS:属性操作2
    前端之CSS:属性操作1
    前端之CSS:CSS选择器
    前端之HTML:表单操作
    前端之HTML:HTML
    SQLAlchemy的使用(SQLAlchemy 是一种对象关系映射模型(Object Relational Mapper), 简称ORM。)
    IO多路复用
    协程
    线程的那些事儿
    并发编程的那些事儿(四)
  • 原文地址:https://www.cnblogs.com/wayne-zhang/p/8297515.html
Copyright © 2020-2023  润新知