J'ai une activité (ClassementActivité) qui doit afficher une recyclerview et une classe (MyAdapter) à coté pour gérer l'adapter de la recyclerview. Dans ClassementActivité j'ai un tableau de String que je souhaite utiliser dans MyAdapter pour cela j'utilise un getter mais mon souci est que le tableau récupéré dans MyAdapter est le tableau déclaré vide et non celui rempli dans le onCreate de ClassementActivité...
Dans MyAdapter :
ClassementActivité monTest = new ClassementActivité(); private String monNouveauTableau[] = monTest.getMonTableau();
J'ai surement oublié de faire quelque chose des idées? Merci d'avance
Cette nouvelle instance dont tu parles, récupère le contenu lors de la création de la variable moi je souhaite la récupérer après sa modification dans le onCreate
Merci et je viens tout juste d'essayer et ça ne fonctionne pas...
J'ai compris que le souci est que le code qui vient après la récupération dans le constructeur ou mon ancienne méthode avec les getter, est surement exécute avant que ma variable soit traitée.
private final List<Pair<String, String>> characters = Arrays.asList( Pair.create(mMonClassementTrie[0], "Brave, curious, and crafty, she has been prophesied by the witches to help the balance of life"), Pair.create(mMonClassementTrie[1], "Lyra's daemon, nicknamed Pan."), Pair.create(mMonClassementTrie[2], "Lyra's friends"), Pair.create(mMonClassementTrie[3], "Lyra's uncle"), Pair.create(mMonClassementTrie[4], "Intelligent and beautiful, but extremely ruthless and callous.")
); @Override public int getItemCount() { return characters.size(); }
@Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.list_cell, parent, false); return new MyViewHolder(view); }
@Override public void onBindViewHolder(MyViewHolder holder, int position) { Pair<String, String> pair = characters.get(position); holder.display(pair); }
public class MyViewHolder extends RecyclerView.ViewHolder {
private final TextView name; private final TextView description; private Pair<String, String> currentPair; public MyViewHolder(final View itemView) { super(itemView); name = ((TextView) itemView.findViewById(R.id.name)); description = ((TextView) itemView.findViewById(R.id.description)); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AlertDialog.Builder(itemView.getContext()) .setTitle(currentPair.first) .setMessage(currentPair.second) .show(); } }); }
Je parle de l’initialisation de la variable characters. C'est bien elle qui pose soucis non quand tu dis "ma liste contient les éléments 12345 du tableau" ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog