Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. package com.example.myapplication;
  2.  
  3. import android.content.Context;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.AdapterView;
  8. import android.widget.BaseAdapter;
  9. import android.widget.ImageView;
  10.  
  11. import java.util.Arrays;
  12. import java.util.Collections;
  13. import java.util.List;
  14. import java.util.Timer;
  15. import java.util.TimerTask;
  16.  
  17. public class GridAdapter extends BaseAdapter {
  18.  
  19. List<Integer> cards = Arrays.asList(R.drawable.image_101,R.drawable.image_101,
  20. R.drawable.image_102,R.drawable.image_102,
  21. R.drawable.image_103,R.drawable.image_103,
  22. R.drawable.image_104,R.drawable.image_104,
  23. R.drawable.image_105,R.drawable.image_105,
  24. R.drawable.image_106,R.drawable.image_106,
  25. R.drawable.image_107,R.drawable.image_107,
  26. R.drawable.image_108,R.drawable.image_108);
  27.  
  28. List<Boolean> turnedCards = Arrays.asList(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
  29.  
  30. Context context;
  31. LayoutInflater inflater;
  32. int selectedId = -1;
  33. int secondId = -1;
  34.  
  35. public GridAdapter(Context context)
  36. {
  37. this.context = context;
  38. Collections.shuffle(cards);
  39. }
  40.  
  41. @Override
  42. public int getCount() {
  43. return cards.size();
  44. }
  45.  
  46. @Override
  47. public Object getItem(int i) {
  48. return cards.get(i);
  49. }
  50.  
  51. @Override
  52. public long getItemId(int i) {
  53. return i;
  54. }
  55.  
  56. @Override
  57. public View getView(int i, View view, ViewGroup viewGroup) {
  58. View gridView = view;
  59.  
  60. if (view == null)
  61. {
  62. inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  63. gridView = inflater.inflate(R.layout.activity_main,null);
  64. }
  65.  
  66. ImageView card = gridView.findViewById(R.id.cardView);
  67. if (selectedId == i || secondId == i || turnedCards.get(i))
  68. {
  69. card.setImageResource(cards.get(i));
  70. }
  71. else
  72. {
  73. card.setImageResource(R.drawable.card);
  74. }
  75.  
  76. card.setVisibility(View.VISIBLE);
  77.  
  78. return gridView;
  79. }
  80.  
  81. public void handleClick(int i)
  82. {
  83. if (selectedId == -1)
  84. {
  85. selectedId = i;
  86. }
  87. else
  88. {
  89. secondId = i;
  90. final Timer timer = new Timer();
  91. TimerTask task = new TimerTask() {
  92. @Override
  93. public void run() {
  94. draaiKaartenOm();
  95. selectedId = -1;
  96. secondId = -1;
  97. }
  98. };
  99. timer.schedule(task,1000);
  100.  
  101. }
  102. }
  103.  
  104. public boolean draaiKaartenOm()
  105. {
  106. if (cards.get(selectedId) == cards.get(secondId))
  107. {
  108. turnedCards.set(selectedId, true);
  109. turnedCards.set(secondId, true);
  110. return true;
  111. }
  112. return false;
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement