2017-09-15 4 views
0

Je travaille sur un projet Android Studio. L'une des activités est un formulaire avec 50 EditTexts. Puisqu'il y a tellement de EditTexts, le fichier de l'activité a plus de 1200 lignes et devrait en avoir 300 - 400 de plus une fois terminé. Il est devenu difficile et fastidieux de naviguer dans le code du fichier.L'activité Android a trop de lignes

Y a-t-il des normes que je devrais suivre pour cette situation? Quel serait le meilleur plan d'action maintenant?

+1

Je commencerais par ne pas avoir 50 'widgets EditText' sur un seul écran. Lorsque vous le divisez (par exemple, dans des pages d'assistant ou quelque chose d'autre), cela a tendance à diviser le code (par exemple, en fragments qui vont dans ces pages de l'assistant). – CommonsWare

+0

La liaison de données peut réduire le nombre de vues dans votre activité en se traduisant ensuite en un modèle comportant 50 champs, s'il s'agit d'une liste, donc vous devez utiliser un composant List tel que RecyclerView, autre chose qui consomme des lignes de votre activité, par exemple en ouvrant un curseur à partir de sqlite et en analysant le résultat, les routines doivent être extraites dans une classe particulière que vous pouvez utiliser simplement pour votre activité. –

+0

Extraction des AsyncTasks et des analyseurs JSON/XML –

Répondre

1

Ce n'est vraiment pas une réponse. mais je n'ai pas eu assez de place dans les commentaires.

1) 50 textes d'édition seul est un grand non non. Essayez de diviser cela en section où un utilisateur peut naviguer d'un fragment à l'autre en remplissant le formulaire.

2) Si vous souhaitez conserver tout sur une activité, alors écrivez une méthode que vous pouvez réduire. Par exemple, je suppose que vous avez 50 lignes de code pour l'instanciation des textes d'édition. Mettez cela dans une méthode en bas et appelez la méthode dans votre sur créer.

3) Piggy backing off du numéro 2 ... Créez des méthodes pour le code que vous répétez encore et encore. Créer une méthode vous permettra de la réduire en une ligne alors que tout le code est à l'intérieur de cette méthode. Cela facilitera la lecture de votre code. J'espère que cela a du sens.