2016-07-07 4 views
0

J'ai une activité d'adaptateur qui s'étend sur CursorAdapter. Donc, il a overriden méthodes comme newView(), bindView(). Je mets à jour le viewholder avec des valeurs textview souvent. Cela fonctionne bien en mode portrait. Lorsque vous passez en mode paysage, les valeurs ne persistent pas. Je sais que vous devez utiliser onSaveInstanceState et onRestoreInstanceState. Mais ce sont des activités et la mienne est une classe Adapter. Qu'est-ce que je fais dans ce cas?Mode paysage, les valeurs ne persistent pas

Dans une activité Fragment, j'ai -

@Override 
public void onSaveInstanceState(Bundle outState) { 
    outState.putInt("Pos", mPosition); 
    super.onSaveInstanceState(outState); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

Dans ma classe d'adaptation, je e viewholder dans bindview(). Comment l'accéder ou l'utiliser dans l'activité Fragment et enregistrer les valeurs

+1

Copie possible de [Enregistrer les données et modifier l'orientation] (http://stackoverflow.com/questions/12214600/save-data-and-change-orientation) – buczek

Répondre

1

Les fonctions onSaveInstanceState et onRestoreInstanceState de votre activité doivent enregistrer toutes les variables dont l'adaptateur a besoin, soit en les enregistrant directement, soit en ajoutant une fonction à votre adaptateur. enregistrer et restaurer et appeler ceux-ci.

+0

Pourriez-vous me dire comment procéder? S'il vous plaît voir ma question éditée – Mark023