Android:Activity之間跳轉和參數傳遞


一個activity就好比一個網頁,此文章講解怎樣創建一個activity並且實現跳轉!

一、學習創建Activity

1、新建一個java類,右擊src目錄,選擇new-->class,新的activity需要繼承Activity類

2、需要復寫onCreate()

例子:

package com.example.testsend;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity2 extends Activity{
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newtest);     
    }
    
}

3、配置到AndroidManifext.xml,在application下創建一個新的activity,如果跟MainActivity同一目錄,可以只寫.name,否則加包名,不過建議寫全。

 <activity android:name="com.example.testsend.MainActivity2">
           </activity>

 如果希望新的activity作為首頁展示,把intent-filter那一塊搬過來就可以了。

 

二、Activity之間的通信

 1、打開一個新的Activity,不傳遞參數

 <Button 
        android:id="@+id/btnOpen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="打開新頁面"
        android:onClick="OpenNew"
        />

點擊按鈕觸發的方法:

MainActivity.java設置方法

   public void OpenNew(View v){
    //新建一個顯式意圖,第一個參數為當前Activity類對象,第二個參數為你要打開的Activity類
    Intent intent =new Intent(MainActivity.this,MainActivity2.class);
    startActivity(intent);       
    }

2、打開新的Activity並傳遞參數

MainActivity.java傳遞參數

public void OpenNew(View v){
    //新建一個顯式意圖,第一個參數為當前Activity類對象,第二個參數為你要打開的Activity類
    Intent intent =new Intent(MainActivity.this,MainActivity2.class);
    
    //用Bundle攜帶數據
    Bundle bundle=new Bundle();
    //傳遞name參數為tinyphp
    bundle.putString("name", "tinyphp");
    intent.putExtras(bundle);
    
    startActivity(intent);        
    }

MainActivity2.java接收參數

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newtest);   
        
        //新頁面接收數據
        Bundle bundle = this.getIntent().getExtras();
        //接收name值
        String name = bundle.getString("name");
       Log.i("獲取到的name值為",name);     
    }  

接收成功:

 傳遞之后接收參數並顯示實例>>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM