検索

ホームページ  >  に質問  >  本文

android-studio - Android 作用域传递问题?

我在写App的时候好多Activity都在做同一个事情,就是操作各个Activity的界面的同一个部分。
所以我希望把这些做同一个事情的相同代码拿出来做一个类的静态方法,下次需要做这个事情就直接调用,不要重复写同样的代码。
于是我这样做的:

就这样把Context传递过去了,但是获取不到那个Context的变量和方法,这个应该怎么实现啊?
难道我必须要在几个Activity写出相同的代码?

PHP中文网PHP中文网2807日前449

全員に返信(9)返信します

  • PHPz

    PHPz2017-04-17 17:46:33

    1.同じメソッドを BaseActivity に抽象化します。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:46:33

    アクティビティ A に共有コードを記述すると、その共有コードを使用する必要があるアクティビティがアクティビティ A を継承します

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:46:33

    Mvp モードを使用すると、論理制御層の同じ部分を Present 層に配置して管理できます。

    返事
    0
  • 阿神

    阿神2017-04-17 17:46:33

    リーリー

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:46:33

    この方法が何に使われるのか教えていただけますか? 戻り値は void に似ているため、conxt

    を通じて何かを行う必要があります。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:46:33

    コードの同じ部分がインターフェイスと対応するロジックである場合、フラグメントを使用するだけです。なぜそれを渡す必要があるのですか? Context は通常、結合されすぎている特定のアクティビティにダウンコンバートするのではなく、Context メソッドを使用するためだけに渡されます。 コードの同じ部分が小さなコードである場合は、そのコードを BaseActivity に配置し、他のアクティビティにそれを継承させます。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:46:33

    まだ Java を始めていません。まず基礎を築きましょう

    返事
    0
  • 黄舟

    黄舟2017-04-17 17:46:33

    1. パブリック メソッドであり、実装される関数が同じ場合:
    Activity の基本クラス、BaseActivity を作成し、サブクラスが呼び出すパブリック メソッドを作成します。
    2.パブリック メソッドが実装されます。 機能は異なりますが、メソッド名は同じです。
    基本クラス BaseActivity も作成され、抽象メソッドが記述されます。 具体的な実装はサブクラス
    で完了します。 PS: を渡します。 context はアクティビティ内のオブジェクトを取得することはできません。少なくとも ((Activity)context)

    と記述する必要があります。

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 17:46:33

    抽象親クラスを作成します。そこに共有メソッドを置きます。

    返事
    0
  • キャンセル返事