84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我在写App的时候好多Activity都在做同一个事情,就是操作各个Activity的界面的同一个部分。所以我希望把这些做同一个事情的相同代码拿出来做一个类的静态方法,下次需要做这个事情就直接调用,不要重复写同样的代码。于是我这样做的:
就这样把Context传递过去了,但是获取不到那个Context的变量和方法,这个应该怎么实现啊?难道我必须要在几个Activity写出相同的代码?
认证高级PHP讲师
1.把相同的方法抽像到BaseActivity中。
BaseActivity
你可以在Activity A中寫共用程式碼,然後需要用到共同程式碼的Activity繼承Activity A
可以採用Mvp模式,將邏輯控制層相同的部分放到Preserent層來管理。
雷雷
能告訴我這個方法是做什麼用的嗎? 因為你的返回類似是void,所以肯定是要透過contxt做些什麼事情
如果你的相同部分的程式碼是介面和對應的邏輯用Fragment就好了,為什麼要傳遞? 傳遞Context一般只為了使用Context的方法,而不是向下轉成具體的Activity,這樣反而過於耦合。 如果相同部分的程式碼是一小段程式碼,那就把這些程式碼放到一個BaseActivity裡面,然後讓其他Activity繼承它。
你的java還沒入門,先打好基礎
1.如果是公用方法而且實現的功能是相同的:寫一個Activity的基類BaseActivity將公用方法寫在基類中提供給子類調用2.若公用方法實現的功能不同,方法名相同:同樣是創建基類BaseActivity並寫一個抽象方法,具體實現在子類中完成PS:傳遞context肯定是拿不到Activity裡面的對象,至少要寫((Activity)context)
寫一個抽象父類別。將共用方法放進去。
1.把相同的方法抽像到
BaseActivity
中。你可以在Activity A中寫共用程式碼,然後需要用到共同程式碼的Activity繼承Activity A
可以採用Mvp模式,將邏輯控制層相同的部分放到Preserent層來管理。
雷雷
能告訴我這個方法是做什麼用的嗎? 因為你的返回類似是void,所以肯定是要透過contxt做些什麼事情
如果你的相同部分的程式碼是介面和對應的邏輯用Fragment就好了,為什麼要傳遞? 傳遞Context一般只為了使用Context的方法,而不是向下轉成具體的Activity,這樣反而過於耦合。 如果相同部分的程式碼是一小段程式碼,那就把這些程式碼放到一個BaseActivity裡面,然後讓其他Activity繼承它。
你的java還沒入門,先打好基礎
1.如果是公用方法而且實現的功能是相同的:
寫一個Activity的基類BaseActivity將公用方法寫在基類中提供給子類調用
2.若公用方法實現的功能不同,方法名相同:
同樣是創建基類BaseActivity並寫一個抽象方法,具體實現在子類中完成
PS:傳遞context肯定是拿不到Activity裡面的對象,至少要寫((Activity)context)
寫一個抽象父類別。將共用方法放進去。