2017-10-14 26 views
0

Je suis un Noob Java, et j'ai essayé de trouver la réponse à ce qui suit, mais je n'ai pas pu identifier l'interface correcte pour le problème suivant. Tout conseil serait hautement apprécié.À quoi ressemble une interface pour passer plusieurs types de données en tant que paramètres à une méthode?

J'ai la pièce suivante de code réutilisable dans Android Studio:

private RelativeLayout.LayoutParams layoutParamsGenerator() { 

    //convert pixels to dpi 
    int pixelHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, getResources().getDisplayMetrics()); 
    int pixelWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, getResources().getDisplayMetrics()); 

    // Sets LayoutParams 
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(pixelHeight, pixelWidth); 

    //ensure placed button is placed in centre 
    int xButton = addTaskButton.getLeft(); 
    int yButton = addTaskButton.getTop(); 

    //defines the LayoutParameters we will a sssign to the button we created above 
    layoutParams.leftMargin = xButton; 
    layoutParams.topMargin = yButton; 

    return layoutParams; 
} 

Le code lit les paramètres de mise en page du « addTaskButton » et le retourne.

Je veux maintenant rendre cette méthode applicable à n'importe quel objet View, et non au jut "addTaskButton" qui est actuellement codé en dur dans le code ci-dessus (c'est-à-dire les vues d'image, les vues de texte, etc. Je suis conscient que cela nécessite la mise en œuvre d'une interface selon le Java: Passing multiple parameters to a method suivant, mais je ne peux pas sembler avoir la bonne mise en œuvre.

Tout conseil serait grandement apprécié.

Z

Répondre

1

Tous les types de vue héritent de la classe View passer si View view comme argument de la méthode et du bouton remplacer par le view devrait résoudre votre problème.