1. 程式人生 > >簡單實現兩個activity相互跳轉

簡單實現兩個activity相互跳轉

下面簡單實現兩個activity之間相互跳轉。我們首先要明白的是一個MyActivity就是一個類,而這個類繼承Activity類。實現兩個activity之間的跳轉,則我們需要建立兩個activity子類。

首先看下簡單的佈局檔案:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android01.MainActivity" >

    <TextView
        android:id="@+id/MyText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    
    <Button
        android:id="@+id/MyButton"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

第一個activity:
package com.example.android01;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View; //import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button myButton = (Button)findViewById(R.id.MyButton); //用findViewById獲取Button控制元件的id
        
        myButton.setText("請點選!跳轉介面");                    //設定Button控制元件上的Text
        
        myButton.setOnClickListener(new wang()); //綁定當前的Button  
        
    }
    
     class wang implements android.view.View.OnClickListener {  //構造一個內部類,並用Intent物件進行跳轉
        
        
        public void onClick(View v){
            
            Intent intent = new Intent();
            intent.setClass(MainActivity.this,otherActivity.class);//從當前activity跳轉到另一個activity
            MainActivity.this.startActivity(intent);              
            
        }
        
    }
}


第二個activity:

package com.example.android01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class otherActivity extends Activity {
   
        @Override
        protected void onCreate(Bundle savedInstanceState) {  
            
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            TextView Mytext = (TextView)findViewById(R.id.MyText);
            Button myButton = (Button)findViewById(R.id.MyButton); //該activity中的操作和上面activity一樣,不再贅述
            myButton.setText("第一個Button");
            Mytext.setText(R.string.lios);
            myButton.setOnClickListener(new lios());
        }
        
        class lios implements OnClickListener{
            
            public void onClick(View v){
                
                Intent intent = new Intent();
                intent.setClass(otherActivity.this,MainActivity.class);
                otherActivity.this.startActivity(intent);
            }
        }
    }

上面已經完成了兩個activity程式碼部分,但是在執行Android程式,會報錯,因為otherActivity沒有在AndroidMainfest.xml中註冊,關於該檔案的作用,這裡不作說明。
下面註冊新建activity的資訊:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="com.example.android01"
  4.     android:versionCode="1"
  5.     android:versionName="1.0" >
  6.     <uses-sdk
  7.         android:minSdkVersion="14"
  8.         android:targetSdkVersion="18" />
  9.     <application
  10.         android:allowBackup="true"
  11.         android:icon="@drawable/ic_launcher"
  12.         android:label="@string/app_name"
  13.         android:theme="@style/AppTheme" >
  14.         <activity
  15.             android:name=".MainActivity"
  16.             android:label="@string/app_name" >
  17.             <intent-filter>
  18.                 <action android:name="android.intent.action.MAIN" />
  19.                 <category android:name="android.intent.category.LAUNCHER" />
  20.             </intent-filter>
  21.         </activity>
  22.         <activity android:name=".otherActivity" >
  23.         </activity>
  24.     </application>
  25. </manifest>
然後執行程式,出現我們想要的結果。上面只是應用Intent最簡單的應用,還有很多其他應用。