欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity

程序员文章站 2022-05-29 11:57:43
Intent:即意图,一般是用来启动新的Activity,按照启动方式分为两类:显式Intent 和 隐式Intent 显示Intent就是直接以“类名称”来指定要启动哪一个Activity:Intent intent = new Intent(this , activity.class); 其中a ......

intent:即意图,一般是用来启动新的activity,按照启动方式分为两类:显式intent隐式intent

显示intent就是直接以“类名称”来指定要启动哪一个activity:intent intent = new intent(this , activity.class);  其中activity.class就是要指定启动的activity

举个例子:新建有两个activity:mainactivity 和 demoactivity,现在从mainactivity跳转到demoactivity

 

activity_main.xml如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <linearlayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     xmlns:tools="http://schemas.android.com/tools"
 6     android:layout_width="match_parent"
 7     android:layout_height="wrap_content"
 8     android:orientation="vertical"
 9     android:layout_gravity="center"
10     android:gravity="center"
11     tools:context="com.hs.example.exampleapplication.mainactivity">
12 
13     <button
14         android:id="@+id/btn_demoactivity"
15         android:layout_width="wrap_content"
16         android:layout_height="match_parent"
17         android:text="跳转到demoactivity"/>
18 
19 </linearlayout>

 

mainactivity.java代码如下:

 1 public class mainactivity extends appcompatactivity implements view.onclicklistener{
 2 
 3     button btn_intent;
 4 
 5     @override
 6     protected void oncreate(bundle savedinstancestate) {
 7         super.oncreate(savedinstancestate);
 8         setcontentview(r.layout.activity_main);
 9 
10      
11         btn_intent = this.findviewbyid(r.id.btn_demoactivity);
12         btn_intent.setonclicklistener(this);
13 
14     }
15 
16     @override
17     public void onclick(view view) {
18        
19         intent intent = new intent(mainactivity.this,demoactivity.class);
20         startactivity(intent);
21 
22 
23     }
24 }

 

 运行后点击显示按钮就可以跳到新的activity

 

如果需要传递数据到新的activity中:

 

1 @override
2 17     public void onclick(view view) {
3 18        
4 19         intent intent = new intent(mainactivity.this,demoactivity.class);
5 20         intent.putextra(string name , string value);  //以键值对的方式传递数据
6 21 
7 22         startactivity(intent);
8 23     }

 

传递过来的参数获取方式:

 

1 intent intent = getintent();
2 
3 string str = intent.getstringextra("key");         //读取传过来的key中的数据
4 int i = intent.getintextra("key",0);               //没有值默认为0

如果想传递更多数据可以了解:bundle