Я занимаюсь разработкой игры на память с android studio и использую gridView для настройки карточек в игровой активности.
это код для моего адаптера gridView:
public class CardGridViewAdapter extends BaseAdapter {
private Context mContext;
private int mCardId;
public CardGridViewAdapter(Context context, int cardsIds) {
mContext = context;
mCardId = cardsIds;
}
public int getCount() {
return mContext.getResources().getInteger(R.integer.num_of_cards);
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new ViewGroup.LayoutParams(300, 300));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mCardId);
return imageView;
}
}
Мне нужно, чтобы после щелчка каждый элемент стал недоступным для клика.
Вот метод onItemCLick:
@Override
public void onItemClick(AdapterView<?> adapterView, View cardView, int position, long l) {
ImageView cardImageView = (ImageView)cardView;
GameGraphics.RevealCard(cardImageView, mCardsIdsArray[position]);
if(mNumOfClicks++ % 2 == 0){
mFirstCard = cardImageView;
}else{
mSecondCard = cardImageView;
mCardsGridView.setEnabled(false);
delayHandler.postDelayed(new Runnable() {
@Override
public void run() {
checkForMatch();
}
}, 1100);
}
}
Я пробовал "cardView.setClickable (false);" но это не сработало.
Что я могу сделать здесь?