J'essaye de créer un jeu avec une grille 9x9 avec GridView. Chaque élément de la grille est un TextView. Je suis en mesure de définir les valeurs initiales de chaque élément de la grille dans la méthode getView() à "0", mais je veux changer la valeur de chaque grille individuellement après cela, mais j'ai été incapable de le faire.Comment accéder aux éléments individuels dans Android GridView?
J'ai essayé d'ajouter une fonction update() dans ma classe GridAdapter étendue qui prend une position et un nombre à mettre à jour à cette position mais cela ne semble pas fonctionner.
public void update(int position, int number) {
TextView cell;
cell = (TextView) getItem(position);
if (cell != null)
{
cell.setText(Integer.toString(number));
}
}
Est-ce que quelqu'un sait comment cela peut être réalisé?
est ici toute la classe GridAdapter en cas besoin,
public class SudokuGridAdapter extends BaseAdapter {
private Context myContext;
private TextView[] myCells;
public SudokuGridAdapter(Context c) {
myContext = c;
myCells = new TextView[9*9];
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 9*9;
}
@Override
public Object getItem(int position) {
return myCells[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView cell;
if (myCells[position] == null)
{
cell = myCells[position] = new TextView(myContext);
cell.setText("0");
}
else
{
cell = myCells[position];
}
return cell;
}
public void update(int position, int number) {
TextView cell;
cell = (TextView) getItem(position);
if (cell != null)
{
cell.setText(Integer.toString(number));
}
}
}
Hey j'essaie de faire la même chose. mais je reçois la cellule comme nulle dans la fonction de mise à jour. pas en mesure d'obtenir la vue. pouvez-vous m'aider? –