J'ai actuellement une classe Adapter qui affiche la liste des noms des enfants et à côté des noms, elle affiche l'heure à laquelle ils sont arrivés à l'école. Problème lorsque je fais pivoter en mode paysage, les valeurs temporelles sont perdues.Comment accéder au Viewholder à partir de l'activité Fragment en mode paysage
La classe adaptateur est comme -
public class MyAdapter extends CursorAdapter {
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = layoutInflater.inflate(R.layout.children_item, parent, false);
// Cache the views using the view holder pattern
ViewHolder viewHolder = new ViewHolder();
viewHolder.childname = (TextView) view.findViewById(R.id.child_name);
viewHolder.time = (TextView) view.findViewById(R.id.child_time);
view.setTag(viewHolder);
return view;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
ViewHolder viewHolder = (ViewHolder) view.getTag();
Child child = children.createStopFromCursor(cursor);
viewHolder.time.setText(strText);
viewHolder.time.setTextColor(0xff000000);
viewHolder.time.setTextSize(17);
viewHolder.time.setVisibility(View.VISIBLE);
viewHolder.time.setBackgroundColor(nColor);
viewHolder.time.setPadding(25,25,25,25);
view.invalidate();
}
}
Je Delare c'est manifeste sous MainActivity Tag comme -
android:configChanges="orientation|screenSize"
Dans MyFragment Activité, j'ai -
public class MyFragment extends Fragment {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//How do I access viewHolder or TextView "time" here
}
}
}
Comment accéder à viewHolder ou TextView "time" pour mettre à jour les valeurs en mode paysage?
Depuis que j'ai ajouté configChanges, le problème est maintenant d'ajouter la disposition portrait au paysage, mais les valeurs de temps ne sont pas perdues. J'ai une mise en page différente pour le paysage qui n'est pas affiché en raison de configChanges = screenSize. Comment puis-je surmonter cela? – Mark023
OK, si vous avez des dispositions différentes pour le portrait et le paysage, vous ne pouvez pas du tout utiliser configChanges. Cependant, en utilisant setRetainInstance, votre fragment sera conservé avec ses données lorsque l'orientation change. –
J'ai essayé avec setRetainInstance (true) mais toujours pas de développements – Mark023