Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實現Activity之間通信的方法

Android實現Activity之間通信的方法

編輯:關於Android編程

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved