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

Posted xiobai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity相关的知识,希望对你有一定的参考价值。

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

 

以上是关于Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity的主要内容,如果未能解决你的问题,请参考以下文章

将 Android Intent 数据保存到图像文件

Android Intent.FLAG_ACTIVITY_NEW_TASK的个人理解

无法使用 STREAM_VOICE_CALL 在 android java 中通过 MediaPlayer 播放音频

通过 Android Intent 发送到 Whatsapp 的链接

在上下文不工作的情况下从 AsyncTask onPostExecute 调用 Android Intent

android intent 可以传递enum 吗