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

时间:2021-12-08 20:28:49

一个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);
}

接收成功:

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

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