Я бы не стал хранить ваши кнопки в этом списке кнопок.(Статика там тоже подозрительная).
Android кеширует для вас представления в списках и сетках и использует те, которые прокручиваются за пределами экрана, что будет более эффективным, если ваша сетка станет большой.Я бы посоветовал, чтобы ваш getView()
выглядел больше так (не проверено):
public View getView(int position, View convertView, ViewGroup parent) {
Button button;
if (convertView == null) {
// create button
button = new Button(mContext);
button.setLayoutParams(new GridView.LayoutParams(85, 85));
button.setPadding(8, 8, 8, 8);
button.setTextColor(Color.BLACK);
}
else {
// reuse button
button = (Button)convertView;
}
// (re)initialise button for this position
button.setOnClickListener(new MyOnClickListener(position));
button.setText(my.package.names[position]); // names is an array of strings
button.setBackgroundResource(*Drawable here*);
return button;
}
(и удалите список кнопок).
Не могу с уверенностью сказать, что этоисправит вашу проблему, но она должна поставить вас на ту же страницу, что и все остальные: -)
Или ваша проблема может быть в коде *Drawable here*
, который вы нам не показали?