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

一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转!

一、学习创建Activity

1、新建一个java类,右击src目录,选择new-->class,新的activity需要继承Activity类

2、需要复写onCreate()

例子:

复制代码
package com.example.testsend;

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

public class MainActivity2 extends Activity{
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newtest);     
    }
    
}
复制代码

3、配置到AndroidManifext.xml,在application下创建一个新的activity,如果跟MainActivity同一目录,可以只写.name,否则加包名,不过建议写全。

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

 如果希望新的activity作为首页展示,把intent-filter那一块搬过来就可以了。

 

二、Activity之间的通信

 1、打开一个新的Activity,不传递参数

 <Button 
        android:id="@+id/btnOpen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="打开新页面"
        android:onClick="OpenNew"
        />

点击按钮触发的方法:

MainActivity.java设置方法

   public void OpenNew(View v){
    //新建一个显式意图,第一个参数为当前Activity类对象,第二个参数为你要打开的Activity类
    Intent intent =new Intent(MainActivity.this,MainActivity2.class);
    startActivity(intent);       
    }

2、打开新的Activity并传递参数

MainActivity.java传递参数

复制代码
public void OpenNew(View v){
    //新建一个显式意图,第一个参数为当前Activity类对象,第二个参数为你要打开的Activity类
    Intent intent =new Intent(MainActivity.this,MainActivity2.class);
    
    //用Bundle携带数据
    Bundle bundle=new Bundle();
    //传递name参数为tinyphp
    bundle.putString("name", "tinyphp");
    intent.putExtras(bundle);
    
    startActivity(intent);        
    }
复制代码

MainActivity2.java接收参数

复制代码
 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);     
    }  
复制代码

接收成功:

 传递之后接收参数并显示实例>>

posted @   tinyphp  Views(80259)  Comments(3Edit  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多