国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

android-studio - Android 作用域傳遞問題?

瀏覽:200日期:2024-09-01 14:47:40

問題描述

我在寫App的時(shí)候好多Activity都在做同一個(gè)事情,就是操作各個(gè)Activity的界面的同一個(gè)部分。所以我希望把這些做同一個(gè)事情的相同代碼拿出來做一個(gè)類的靜態(tài)方法,下次需要做這個(gè)事情就直接調(diào)用,不要重復(fù)寫同樣的代碼。于是我這樣做的:

android-studio - Android 作用域傳遞問題?

android-studio - Android 作用域傳遞問題?

就這樣把Context傳遞過去了,但是獲取不到那個(gè)Context的變量和方法,這個(gè)應(yīng)該怎么實(shí)現(xiàn)啊?難道我必須要在幾個(gè)Activity寫出相同的代碼?

問題解答

回答1:

1.把相同的方法抽象到BaseActivity中。

回答2:

你可以在Activity A中寫共用代碼,然后需要用到共同代碼的Activity繼承Activity A

回答3:

可以采用Mvp模式,將邏輯控制層相同的一部分放到Preserent層來管理。

回答4:

if(c instanceof MainActivity){ ((MainActivity) c).colorfulPanelTimerTask = new TimerTask(){... }}回答5:

能告訴我這個(gè)方法是做什么用的嗎? 因?yàn)槟愕姆祷仡愃剖莢oid,所以肯定是要通過contxt做些什么事情

回答6:

如果你的相同部分的代碼是界面和對應(yīng)的邏輯用Fragment就好了,為什么要傳遞? 傳遞Context一般只為了使用Context的方法,而不是向下轉(zhuǎn)成具體的Activity,這樣反而過于耦合。 如果相同部分的代碼是一小段代碼,那把這些代碼放到一個(gè)BaseActivity里面,然后讓其他Activity繼承它。

回答7:

你的java還未入門,先打好基礎(chǔ)

回答8:

1.如果是公用方法而且實(shí)現(xiàn)的功能是相同的:寫一個(gè)Activity的基類BaseActivity將公用方法寫在基類中提供給子類調(diào)用2.若公用方法實(shí)現(xiàn)的功能不同,方法名相同:同樣是創(chuàng)建基類BaseActivity并寫一個(gè)抽象方法,具體實(shí)現(xiàn)在子類中完成PS:傳遞context肯定是拿不到Activity里面的對象,至少要寫((Activity)context)

回答9:

寫一個(gè)抽象父類。將共用方法放進(jìn)去。

相關(guān)文章:
主站蜘蛛池模板: 平泉县| 海晏县| 稻城县| 历史| 新巴尔虎左旗| 萝北县| 巧家县| 遂昌县| 高台县| 邯郸县| 山东| 营口市| 河北区| 六盘水市| 叶城县| 波密县| 华阴市| 分宜县| 嘉黎县| 苍南县| 江津市| 阿合奇县| 扶余县| 云浮市| 印江| 五常市| 武穴市| 剑河县| 温宿县| 揭阳市| 冷水江市| 荣昌县| 泰宁县| 应城市| 黎川县| 清远市| 九江市| 合阳县| 宁城县| 中江县| 井陉县|