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

时间:2021-07-09 05:37:01

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

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

举个例子:新建有两个Activity:MainActivity 和 DemoActivity,现在从MainActivity跳转到DemoActivity

activity_main.xml如下:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center"
tools:context="com.hs.example.exampleapplication.MainActivity"> <Button
android:id="@+id/btn_demoActivity"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="跳转到DemoActivity"/> </LinearLayout>

MainActivity.java代码如下:

 public class MainActivity extends AppCompatActivity implements View.OnClickListener{

     Button btn_intent;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btn_intent = this.findViewById(R.id.btn_demoActivity);
btn_intent.setOnClickListener(this); } @Override
public void onClick(View view) { Intent intent = new Intent(MainActivity.this,DemoActivity.class);
startActivity(intent); }
}

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

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

 @Override
17 public void onClick(View view) {
18
19 Intent intent = new Intent(MainActivity.this,DemoActivity.class);
20 intent.putExtra(String name , String value); //以键值对的方式传递数据
21
22 startActivity(intent);
23 }

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

 Intent intent = getIntent();

 String str = intent.getStringExtra("key");         //读取传过来的key中的数据
int i = intent.getIntExtra("key",0); //没有值默认为0

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