Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity
程序员文章站
2023-04-05 22:47:17
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