我在写App的时候好多Activity都在做同一个事情,就是操作各个Activity的界面的同一个部分。
所以我希望把这些做同一个事情的相同代码拿出来做一个类的静态方法,下次需要做这个事情就直接调用,不要重复写同样的代码。
于是我这样做的:
就这样把Context传递过去了,但是获取不到那个Context的变量和方法,这个应该怎么实现啊?
难道我必须要在几个Activity写出相同的代码?
天蓬老师2017-04-17 17:46:33
コードの同じ部分がインターフェイスと対応するロジックである場合、フラグメントを使用するだけです。なぜそれを渡す必要があるのですか? Context は通常、結合されすぎている特定のアクティビティにダウンコンバートするのではなく、Context メソッドを使用するためだけに渡されます。 コードの同じ部分が小さなコードである場合は、そのコードを BaseActivity に配置し、他のアクティビティにそれを継承させます。
黄舟2017-04-17 17:46:33
1. パブリック メソッドであり、実装される関数が同じ場合:
Activity の基本クラス、BaseActivity を作成し、サブクラスが呼び出すパブリック メソッドを作成します。
2.パブリック メソッドが実装されます。 機能は異なりますが、メソッド名は同じです。
基本クラス BaseActivity も作成され、抽象メソッドが記述されます。 具体的な実装はサブクラス
で完了します。 PS: を渡します。 context はアクティビティ内のオブジェクトを取得することはできません。少なくとも ((Activity)context)