啟動活動的方法相信你已經非常熟悉了,首先通過 intent 構建出當前的「意圖」 ,然後
呼叫 startactivity()或 startactivityforresult()方法將活動啟動起來,如果有資料需要從乙個活
動傳遞到另乙個活動,也可以借助 intent 來完成。
假設 secondactivity 中需要用到兩個非常重要的字串引數,在啟動 secondactivity 的
時候必須要傳遞過來,那麼我們很容易會寫出如下**:
intent intent = new intent(firstactivity.this, secondactivity.class);
intent.putextra(「param1」, 「data1」);
intent.putextra(「param2」, 「data2」);
startactivity(intent);
這樣寫是完全正確的,不管是從語法上還是規範上,只是在真正的專案開發中經常會有
對接的問題出現。比如 secondactivity 並不是由你開發的,但現在你負責的部分需要有啟動
secondactivity 這個功能,而你卻不清楚啟動這個活動需要傳遞哪些資料。這時無非就有兩
種辦法,乙個是你自己去閱讀 secondactivity 中的**,二是詢問負責編寫 secondactivity
的同事。你會不會覺得很麻煩呢?其實只需要換一種寫法,就可以輕鬆解決掉上面的窘境。
修改 secondactivity 中的**,如下所示:
public class secondactivity extends baseactivity
…… }
我們在 secondactivity 中新增了乙個 actionstart()方法,在這個方法中完成了 intent 的構
建,另外所有 secondactivity 中需要的資料都是通過 actionstart()方法的引數傳遞過來的,然
後把它們儲存到 intent 中,最後呼叫 startactivity()方法啟動 secondactivity。
這樣寫的好處在**呢?最重要的一點就是一目了然,secondactivity 所需要的資料全
部都在方法引數中體現出來了,這樣即使不用閱讀 secondactivity 中的**,或者詢問負責
編寫 secondactivity 的同事,你也可以非常清晰地知道啟動 secondactivity 需要傳遞哪些數
據。 另外, 這樣寫還簡化了啟動活動的**, 現在只需要一行**就可以啟動 secondactivity,
如下所示:
button1.setonclicklistener(new onclicklistener()
});
養成乙個良好的習慣,給你編寫的每個活動都新增類似的啟動方法,這樣不僅可以讓啟
動活動變得非常簡單,還可以節省不少你同事過來詢問你的時間。
活動 啟動活動的最佳寫法
目的 假設secondactivity中需要用到兩個字串引數,在啟動secondactivity的時候必須傳遞過來。修改secondactivity中 public static void actionstart context context,string data1,string data2 在...
啟動活動最佳寫法
首先,通過intent 構建出當前的 意圖 然後呼叫 startactivity 或startactivityforresult 方法將活動啟動起來,secondactivity 如下 import android.content.context import android.content.int...
活動的最佳實踐之 啟動活動的最佳寫法
通過呼叫目的活動提供的特定方法來啟動目的活動,並傳遞資料,可以為後續實際開發中減少不必要的麻煩。以下為在mainactivity 啟動secondactivity 為例 secondactivity 提供actionstart 方法,並將context data設定為引數,在該方法中定義intent...