1. 程式人生 > >Android-----Intent中通過startActivity(Intent intent )顯式啟動新的Activity

Android-----Intent中通過startActivity(Intent intent )顯式啟動新的Activity

.class lin cal xtra () 默認 eat amp vertica

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