Question

J'ai une application où il ne s'agit que d'une minuterie avec un tas de méthodes spéciales dans l'activité principale. Cela fonctionne bien sans problèmes. Maintenant que je travaille, j'essaie de l'inclure dans une application beaucoup plus compliquée où je vais insérer la minuterie dans de nombreux endroits via des fragments.

Devrais-je inclure toutes mes méthodes spéciales dans mon activité de fragment? IE:

public class Timer_fragment extends android.support.v4.app.Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.timer_frag, container, false);
    }
    //SHOULD I insert my special methods here?
}

ou devrais-je les inclure dans mon principal?

Je demande parce que j'ai essayé les deux manières et que l'activité de fragment m'a donné des erreurs en Java, mais les mettre dans ma principale m'a donné des erreurs pendant le temps d'exécution. Fondamentalement, j'ai une minuterie qui fonctionne bien comme une application autonome, mais j'essaie de le convertir en fragment, de sorte que je puisse le brancher dans plusieurs endroits de mon application.

Exemples de "méthodes spéciales": Je prends une vue dans la mise en page et la mise à jour en fonction des nouveaux numéros entrés sur la minuterie. Ces méthodes nécessitent une vue gonflée avant de pouvoir être utilisées.

Remarque: Les erreurs lors de l'exécution que je connais sont NullpointerExceptions.

Était-ce utile?

La solution

L'idée derrière un fragment est qu'il s'agit d'une section redoutable (fragment) d'une activité pouvant être utilisée dans d'autres activités, voire dans la même activité, mais avec l'addition ou l'absence d'autres fragments.

Dans l'application Gmail, par exemple, la liste de tous les courriels dans une boîte de réception est un fragment et le contenu réel d'un courrier électronique est un autre fragment. Sur une tablette en mode paysage, les deux sont montrés. Un téléphone en mode portrait ne montrera que l'un des deux fragments à la fois.

Ainsi, chaque fragment doit encapsuler toutes les fonctionnalités et les composants d'interface utilisateur nécessaires à l'utilisation de ce fragment. Cela signifie que toutes vos méthodes "spéciales" telles que gonfler la vue du fragment XML devraient se produire dans le fragment.

L'activité (ou les activités) qui utilise le fragment doit seulement avoir besoin d'utiliser un fragmentManager (ou une méthode similaire) pour ajouter votre fragment à la disposition de l'activité. L'activité mère d'un fragment doit également gérer la communication entre les fragments et d'autres composants tels que d'autres activités, fragments ou threads.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top