編輯:關於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官方文檔給大家 性能優化之布局篇: [Android 性能優化系列]布局篇之通過復用布局
Android中NavigationView的使用與相關問題解決
一、基本使用1. NavigationView 在 design 庫中,添加依賴(最新的是 23.2.0);compile com.android.support:des
Android自定義View實現可以拖拽的GridView
先看看效果圖主要思想:1、監聽觸碰事件2、用WindowManager添加拖曳的圖片3、用Collections.swap()交換List數據自定義代碼:public c
詳解Android自定義控件屬性TypedArray以及attrs
最近在研究android自定義控件屬性,學到了TypedArray以及attrs。大家也可以結合《理解Android中的自定義屬性》這篇文章進行學習,後續一篇還有應用。1