編輯:關於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程序設計有所幫助。
在接下來的一段時間裡,我會每天翻譯一部分關於性能提升的Android官方文檔給大家 性能優化之布局篇: [Android 性能優化系列]布局篇之通過復用布局
一、基本使用1. NavigationView 在 design 庫中,添加依賴(最新的是 23.2.0);compile com.android.support:des
先看看效果圖主要思想:1、監聽觸碰事件2、用WindowManager添加拖曳的圖片3、用Collections.swap()交換List數據自定義代碼:public c
最近在研究android自定義控件屬性,學到了TypedArray以及attrs。大家也可以結合《理解Android中的自定義屬性》這篇文章進行學習,後續一篇還有應用。1