zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    算法时间复杂度
    C#箴言:定义常量的两种方法
    Java对象池示例
    一种轻量级对象池的设计与实现
    游戏功能逻辑优化
    c#二维数组传递与拷贝
    一个高效的A-star寻路算法(八方向)(
    3DMAX 烘培技术
    Unity3D脚本生命周期
    Unity 组件
  • 原文地址:https://www.cnblogs.com/wayne-zhang/p/8297515.html
Copyright © 2011-2022 走看看