Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.AdapterView;
- import android.widget.BaseAdapter;
- import android.widget.ImageView;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.Timer;
- import java.util.TimerTask;
- public class GridAdapter extends BaseAdapter {
- List<Integer> cards = Arrays.asList(R.drawable.image_101,R.drawable.image_101,
- R.drawable.image_102,R.drawable.image_102,
- R.drawable.image_103,R.drawable.image_103,
- R.drawable.image_104,R.drawable.image_104,
- R.drawable.image_105,R.drawable.image_105,
- R.drawable.image_106,R.drawable.image_106,
- R.drawable.image_107,R.drawable.image_107,
- R.drawable.image_108,R.drawable.image_108);
- List<Boolean> turnedCards = Arrays.asList(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
- Context context;
- LayoutInflater inflater;
- int selectedId = -1;
- int secondId = -1;
- public GridAdapter(Context context)
- {
- this.context = context;
- Collections.shuffle(cards);
- }
- @Override
- public int getCount() {
- return cards.size();
- }
- @Override
- public Object getItem(int i) {
- return cards.get(i);
- }
- @Override
- public long getItemId(int i) {
- return i;
- }
- @Override
- public View getView(int i, View view, ViewGroup viewGroup) {
- View gridView = view;
- if (view == null)
- {
- inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- gridView = inflater.inflate(R.layout.activity_main,null);
- }
- ImageView card = gridView.findViewById(R.id.cardView);
- if (selectedId == i || secondId == i || turnedCards.get(i))
- {
- card.setImageResource(cards.get(i));
- }
- else
- {
- card.setImageResource(R.drawable.card);
- }
- card.setVisibility(View.VISIBLE);
- return gridView;
- }
- public void handleClick(int i)
- {
- if (selectedId == -1)
- {
- selectedId = i;
- }
- else
- {
- secondId = i;
- final Timer timer = new Timer();
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- draaiKaartenOm();
- selectedId = -1;
- secondId = -1;
- }
- };
- timer.schedule(task,1000);
- }
- }
- public boolean draaiKaartenOm()
- {
- if (cards.get(selectedId) == cards.get(secondId))
- {
- turnedCards.set(selectedId, true);
- turnedCards.set(secondId, true);
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement