另外,從設(shè)計(jì)理念的角度來看,Android認(rèn)為,兩個(gè)Activity如果要共享數(shù)據(jù),可以通過Preference Storage或者文件、數(shù)據(jù)庫進(jìn)行,同時(shí),在一般情況下,設(shè)備上只會(huì)有一個(gè)Activity在運(yùn)行,因此,多個(gè)Activity之間傳遞數(shù)據(jù)也不是必需的。
創(chuàng)新互聯(lián)主要企業(yè)基礎(chǔ)官網(wǎng)建設(shè),電商平臺建設(shè),移動(dòng)手機(jī)平臺,微信小程序等一系列專為中小企業(yè)定制網(wǎng)站產(chǎn)品體系;應(yīng)對中小企業(yè)在互聯(lián)網(wǎng)運(yùn)營的各種問題,為中小企業(yè)在互聯(lián)網(wǎng)的運(yùn)營中保駕護(hù)航。
Activity之間的傳值使用intent.putExtra就可以。Intent(意圖)主要是解決Android應(yīng)用的各項(xiàng)組件之間的通訊。
Activity之間是沒有辦法直接傳遞數(shù)據(jù)的。Android的設(shè)計(jì)原則是,用Intent在不同的Activity和進(jìn)程之間進(jìn)行通信,但是通常來講,Intent中只能存入基本數(shù)據(jù)類型和系統(tǒng)默認(rèn)支持的比如Uri之類的。
一個(gè)Android程序可以由多個(gè)Activity和Servier組成,在這些程序組件之間傳遞數(shù)據(jù)的方法有以下幾種,每種方法都有其特定的使用途徑。
1、)定義一個(gè)接口 讓 Activity實(shí)現(xiàn)這個(gè)接口;2)接受者調(diào)用接口里面的方法把要傳遞的參數(shù)傳進(jìn)去。
2、用接口傳。定義一個(gè)接口 讓 Activity實(shí)現(xiàn)這個(gè)接口,然后接受者調(diào)用接口里面的方法把要傳遞的參數(shù)傳進(jìn)去。
3、原始數(shù)據(jù)類型:在Activity/Servier之間傳遞臨時(shí)性的原始數(shù)據(jù),可以使用Intent的putExtras方法來傳遞數(shù)據(jù)。若傳遞的數(shù)據(jù)需要長久保存,則使用SharedPreference類來完成。傳遞對象。
4、在Activity中創(chuàng)建一個(gè)內(nèi)部類MyBroadcastReceiver擴(kuò)展BroadcastReceiver,并在其中實(shí)現(xiàn)onReceive方法。
5、一種是像樓主所說的,在Activity里注冊一個(gè)BroadcastReceiver,Service完成某個(gè)任務(wù)就可以發(fā)一個(gè)廣播,接收器收到廣播后通知activity做相應(yīng)的操作。
你過程分兩部,第一個(gè)是頁面跳轉(zhuǎn),第二個(gè)是刷新頁面。你可以傳一個(gè)參數(shù)去第二個(gè)activity,在第二個(gè)activity的oncreate事件判斷如果是跳轉(zhuǎn)的,就執(zhí)行一個(gè)刷新函數(shù),如果不是,就不執(zhí)行。
在onCreate方法中獲取發(fā)送過來的意圖對象:Intent i=getInent();從意圖對象中根據(jù)名稱獲取傳遞過來的數(shù)據(jù),如i.getStringExtra(name)。
也就是說,默認(rèn)情況下viewpager只會(huì)創(chuàng)建三個(gè)界面,因此跳過三個(gè)界面的時(shí)候,需要重新創(chuàng)建,所以導(dǎo)致空白。解決方案就是:viewpager.setoffscreenpagelimit(4);表示四個(gè)界面來回切換不會(huì)重新創(chuàng)建,就會(huì)不出現(xiàn)空白了。
可以通過廣播,你是從一個(gè)程序,傳到另一個(gè)程序 對吧。
而android移動(dòng)設(shè)備除了當(dāng)前正在顯示的activity意外,其他的activity都在后臺運(yùn)行。例如你在A activity中調(diào)用B activity 的方法時(shí)候,有可能B activity已經(jīng)被銷毀,所以,只能使用B activity的靜態(tài)方法。