Bonjour,

Je rencontres deux problématiques lors de l'utilisation de NavigationView et plus précisément les données du header.

  • 1 - Problème de mise en forme des informations du header.





Je voudrais indiquer dans le header une adresse mail avec sur clic lance une appli mail avec objet et contenu pré-renseignés.

J'ai donc utilisé la propriété autolink puis renseigner du contenu html
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    <TextView
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="email"
        android:text="@string/email"
        />

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    <string name ="email">
        <a href="mailto:toto@gmail.com?subject=Test" target="_top">toto@gmail.com</a>
    </string>

Cela fonctionne très bien quand je suis dans mon activité principale mais dans le cas d'un header...
J'ai aussi de mettre à jour les données avec la méthode setText mais sans résultat

  • 2 - Mise à jour des données du header depuis une activité


Pour afficher ma navigationView, j'ai une méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    private void configureNavigationView() {
        this.navigationView = (NavigationView) findViewById(R.id.activity_main_nav_view);
        navigationView.setNavigationItemSelectedListener(this);
}
Cela fonctionne bien mais dès que je souhaite accéder aux données en vue de les mettre à jour, les données du header ont été dupliquées à l'affichage
J'ai simplement ajouter ces lignes à la méthode configureNavigationView

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        View headerView = navigationView.inflateHeaderView(R.layout.activity_main_nav_header);
        TextView mTextMail = (TextView) headerView.findViewById(R.id.poste);
En vous remerciant d'avance de vos lumières.