android-studio - Android 作用域传递问题?
PHP中文网
PHP中文网 2017-04-17 17:44:33
0
9
451

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

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

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(9)
PHPzhong

1. Résumez la même méthode dans BaseActivity.

Ty80

Vous pouvez écrire du code partagé dans l'activité A, puis l'activité qui doit utiliser le code partagé hérite de l'activité A

Ty80

Vous pouvez utiliser le mode Mvp pour placer la même partie de la couche de contrôle logique dans la couche Présent pour la gestion.

阿神
if(c instanceof MainActivity){
    ((MainActivity) c).colorfulPanelTimerTask = new TimerTask(){
        ...
    }
}
伊谢尔伦

Pouvez-vous me dire à quoi sert cette méthode ? Parce que votre retour est similaire à void, vous devez faire quelque chose via contxt

Peter_Zhu

Si la même partie de votre code est l'interface et la logique correspondante, utilisez simplement Fragment. Pourquoi devez-vous la transmettre ? Le contexte est généralement transmis uniquement pour utiliser la méthode Context, plutôt que de procéder à une conversion descendante en une activité spécifique, qui est trop couplée. Si la même partie de code est un petit morceau de code, placez le code dans une BaseActivity et laissez les autres activités en hériter.

洪涛

Vous n'avez pas encore commencé avec Java, posez d'abord les bases

黄舟

1. S'il s'agit d'une méthode publique et que les fonctions implémentées sont les mêmes :
Écrivez une classe de base d'Activity, BaseActivity, et écrivez la méthode publique dans la classe de base pour que les sous-classes appellent
2. la méthode publique est implémentée Différentes fonctions, mêmes noms de méthode :
pareil La même méthode consiste à créer la classe de base BaseActivity et à écrire une méthode abstraite. L'implémentation spécifique est terminée dans la sous-classe
PS : vous ne pourrez certainement pas obtenir les objets dans l'activité lors du passage du contexte. écrire ((Activité)contexte)

刘奇

Écrivez une classe parent abstraite. Mettez-y les méthodes partagées.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal