定義多個Activity及跳轉,多個activity跳轉
說明:在Android應用程式當中建立多個activity,並且啟動一個activity的方法,以及activity之間的跳轉。
例子:在MainActivity裡面添加一個按鈕,觸動按鈕,跳轉到SecondActivity。
步驟:1、定義一個類,繼承Activity,複寫Activity當中的OnCreate方法。
package com.away.b_01_multiactivity;import android.app.Activity;import android.os.Bundle;public class SecondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second);}}同時,也建立一個布局檔案second.xml ,並且在SecondActivity的OnCreate方法中調用setContentView,設定SecondActivity使用的布局檔案。
<TextView android:id="@+id/secondTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="第二個Activity"/>
2、在AndroidMainfest.xml檔案當中註冊Activity。
<activity android:name="com.away.b_01_multiactivity.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity><activity android:name="com.away.b_01_multiactivity.SecondActivity" android:label="second" ></activity>
PS:<intent-filter>作為activity的子標籤,它的作用是設定某個activity為應用程式預設啟動的activity。android:label的作用就是這個activity顯示到手機上面的名字。
到這裡activity就建立好了,但是如何?activity之間的跳轉呢?
3、在activity_main.xml當中添加一個<Button>。
<Button android:id="@+id/Button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/TextView" android:text="啟動SecondAtivity"/>
4、在MainActivity.java裡面產生意圖對象(Intent),調用 setClass方法設定所要啟動的Activity,調用startActivity方法啟動Activity。
package com.away.b_01_multiactivity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.Button); button.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {Intent intent=new Intent();//setClass函數的第一個參數是一個Context對象//Context是一個類,Activity是Context類的子類,也就是說,所有的Activity對象都可以向上轉型為Context對象//setClass函數的第二個參數是Class對象,在當前情境下,應該傳入需要被啟動的Activity的class對象intent.setClass(MainActivity.this, SecondActivity.class);startActivity(intent);} }}附上:(原創不易,轉載請標明出處 = - =)
結構圖:
多個activity跳轉出錯
檢查下主設定檔是否將這幾個activity註冊了。若是,檢查下布局檔案,有錯誤。請採納,謝謝!還是不行的話,晚上我可以幫你調試!
Android實現在多個Activity之間實現跳轉的例子
Code: FromXXX => GotoXXX
...
Intent intentTo = new Intent();
intentTo.setClass(FromXXX.this, GotoXXX.class);
startActivity(intentTo );