0
votes

Comment convertir ci-dessous la ligne de Java en Kotlin

dots = arrayOfNulls<TextView>(layouts.size)

2 commentaires

Avez-vous essayé - points = Arrayof (mise en page.size) ou points = mutablardrayof (mise en page.SIZE)?


Veuillez suivre cette Réponse Vous résoudrez votre problème par vous-même.


4 Réponses :


0
votes

Vous obtenez cette erreur parce qu'un arrayofnulls contient le nombre d'éléments donnés en tant qu'objet "null". Mais textview est seulement nullable lorsque vous l'avez écrit comme textview? . Vous pouvez filtrer points si vous souhaitez supprimer des valeurs NULL lorsque vous l'avez remplie avec vos données par quelque chose comme dots.filternotnull ()


0 commentaires

1
votes

dots = arraylist de () C'est la façon dont vous le feriez pour Kotlin pour une arrayliste vide avec des valeurs non nulles ou

arrayofnulls (mise en page) est pour un tableau de NULLS


4 commentaires

Bonne réponse. Arrayofnulls était la mauvaise direction de l'OP à mon avis


Le paramètre Type de méthode est toujours arrayofnulls , c'est le type retourné qui est tableau .


@shkschneider Lors de la traduction de Kotlin, je ne ferais généralement pas ce changement immédiatement. Si vous avez déjà du code de travail en Java, traduisez-le exactement (en utilisant arrayofnulls ou ou constructeur), alors vous pouvez le refracter.


C'est une très bonne pratique en effet. Cependant, je trouve toujours que Nouveau TextView [Layouts.length] Traduire en éléments non nulelles justifierait de ne pas utiliser arrayofnulls :)



0
votes

Vous pouvez l'utiliser comme ci-dessous: -

Array<TextView>


0 commentaires

0
votes

S'il est initialisé par quelque chose comme xxx

alors, vous savez qu'il ne contient pas de nulls, il doit être saisi que tableau et initialisé comme < / p> xxx

sinon, si cela peut toujours contenir des nulls ultérieurement lorsqu'il est utilisé, modifiez le type à tableau >


0 commentaires