昨天去完美面試,實力炮灰,問了這個問題沒答上來,現在仔細看看。。。
activity傳值的話主要是:
1.intent傳值
2.static變數傳值
4.clipboardmanager(剪下板)的傳值。
5.資料庫的傳值
主要說下前兩種:
1、intent 的傳值。
intent intent = new intent(this, 要跳轉的activity.class);
intent.putextra("變數名","值");
stratactivity(intent);
另外一種方式是 ou0618 同學指出的。
intent it = new intent(this, 要跳轉的activity.class);
bundle bundle=new bundle();
bundle.putstring("變數名", "值");
it.putextras(bundle);
startactivity(it);
這樣在「要跳轉的activity」 裡面就可以進行引數接收。
關於接收引數這裡也說一下吧。兩種方法的接收方式是一樣的。
bundle extras = getintent().getextras();
string 接收的變數 = extras.getstring("變數名");
這樣的傳值方式相信是大家剛接觸 android 時候最先了解的。
優勢:最先被學習,理解難度不高,不存在資源釋放的考慮
劣勢:只能在兩個activity之間進行傳值,如果多個activity裡面進行傳值,則需要儲存變數進行多次傳遞,**的複雜度增加,也不容易維護。
好了,接下來希望是朋友們來進行完善,提出更多的方式。當然也希望大家指出彼此之間提出來的方案的問題。
2、靜態變數的傳值。
生命乙個靜態變數儲存類。 public class statemanager
然後生命乙個靜態變數
public static string username;
在頁面跳轉之前,使用 statemanager.username 進行賦值。 在跳轉之後的頁面進行獲取。
優勢:使用方便,可以統一管理,容易維護。
劣勢:靜態變數的方式在理解上比intent 稍難。同時存在釋放機制的處理問題(這裡需要比較謹慎的對待。)
這種方式是我個人推薦的方式。
其他三種:
多個Activity之間傳值
本章將借用乙個例項,講解如何註冊並啟用乙個新的activity,以及多個activity之間如何傳值。下面是主activity的 在相同包下,新建乙個類,繼承至activity這個類,重寫oncreate方法.下面是布局檔案main.xml 下面是布局檔案other.xml 最後,注意修改專案清單檔...
Activity之間的傳值
activity之間的傳值 方法1 1給2傳值 activity1 final intent intent new intent mctx,activity1.class 將當前使用者傳遞下去 intent.putextra user muser startactivity intent 裡邊mus...
Activity跳轉傳值的方式
一 普通的intent的傳值,oneactivity中intent.putextra twoactivity中intent.get extra 二 通過startactivityforresult onactivityresult setresult oneactivity中startactivit...