0
votes

Naviguer vers une autre activité à l'aide de Kotlin

Je veux naviguer d'une activité à une autre à l'aide du contrôleur de navigation. Je n'ai pas pu trouver un seul exemple qui illustre comment accomplir cela. Les documents Android indiquent d'utiliser l'un d'entre eux pour naviguer:

kotlin xxx

java xxx

J'utilise Kotlin. Pour toute raison étrange, Google a choisi de créer des méthodes distinctes pour Kotlin et Java.


1 commentaires

Les kotlin sont des fonctions d'extension destinées à être une alternative plus agréable aux méthodes statiques de Java correspondantes. Donc, si vous êtes à l'intérieur d'un fragment, au lieu d'appeler navhostfragment.findnavController (this) Vous pouvez simplement appeler windnavcontroller () .


3 Réponses :


1
votes

Ajoutez d'abord la deuxième activité sous forme de destination dans la navigation. Donnez à cette transaction un nom. puis en utilisation du code.

Navigation.findNavController(view).navigate(R.id.myTransaction);


3 commentaires

Lorsque je vais ajouter la deuxième activité sous forme de destination, il n'est pas répertorié des éléments que je peux choisir parmi lesquels je peux choisir.


Qu'est-ce que la vue? Pour cette utilisation


Il peut s'agir de l'activité dans laquelle vous êtes ou du bouton que vous avez cliqué sur



1
votes

Il s'avère que dans l'éditeur de navigation que vous devez entrer manuellement dans la destination de l'activité que vous souhaitez accéder à. Vous devez le faire dans la vue texte et non dans la vue designers. Cela semble être un bogue ou une fonctionnalité gravement dépourvue de l'éditeur de navigation. Il devrait vraiment énumérer toutes les activités de votre application, qu'elle ne le fait pas actuellement. Dans mon application, je veux naviguer de l'activité de connexion à l'activité principale. Ceci est fait comme suit:

findNavController().navigate(R.id.action_loginFragment_to_mainActivity)


1 commentaires

Au cours du développement de ce système de navigation, ils ont décidé d'utiliser un fragment comme modèle de base au lieu d'activité. Peut-être que c'est la raison pour laquelle nous ne pouvons pas voir l'activité dans la navigation.xml



2
votes

définitivement, vous devez utiliser: xxx

dans mon cas, je dois utiliser: xxx


0 commentaires