本文執行個體講述了Android實現Activity之間通訊的方法。分享給大家供大家參考。具體如下:
在一個Activity中可以使用系統提供的startActivity(Intent intent)方法開啟新的Activity,在開啟新的Activity前,你可以決定是否為新的Activity傳遞參數。
第一種:開啟新的Activity,不傳遞參數
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnOpen=(Button)this.findViewById(R.id.btnOpen); btnOpen.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //建立一個顯式意圖,第一個參數為當前Activity類對象,第二個參數為你要開啟的Activity類 startActivity(new Intent(MainActivity.this, OtherActivity.class)); } }); }}
第二種:開啟新的Activity,並傳遞若干個參數給它
package com.ljq.activitys;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnOpen=(Button)this.findViewById(R.id.btnOpen); btnOpen.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //第一種:開啟新的Activity,不傳遞參數 //建立一個顯式意圖,第一個參數為當前Activity類對象,第二個參數為你要開啟的Activity類 //startActivity(new Intent(MainActivity.this, OtherActivity.class)); //第二種:開啟新的Activity,並傳遞若干個參數給它 Intent intent=new Intent(MainActivity.this, OtherActivity.class); //Bundle類用作攜帶資料 Bundle bundle=new Bundle(); bundle.putString("name", "linjiqin"); bundle.putInt("age", 24); //附帶上額外的資料 intent.putExtras(bundle); startActivity(intent); } }); }}
在新的Activity中接收前面Activity傳遞過來的參數
package com.ljq.activitys;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class OtherActivity extends Activity { private final static String TAG="OtherActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.other); //在新的Activity中接收前面Activity傳遞過來的參數 Bundle bundle=this.getIntent().getExtras(); String name=bundle.getString("name"); Integer age=bundle.getInt("age"); Log.i(TAG, name+" : "+age); }}
希望本文所述對大家的Android程式設計有所協助。