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
  • 相关阅读:
    tail命令和head命令查询文件指定行数
    php unserialize(): Error at offset 470 of 660 bytes
    屏蔽搜索引擎收录robots.txt文件下载
    php-apc为magento加速
    magento导入csv文件到数据库中乱码
    magento 上传csv表格中实例化对象例子
    magento上新产品,前台不显示不显示属性,后台却有属性问题
    php裁剪图片
    概念:静态static相关知识
    概念 : 重定向概念
  • 原文地址:https://www.cnblogs.com/wayne-zhang/p/8297515.html
Copyright © 2011-2022 走看看