Я пытаюсь создать приложение простых парных пар. Приложение начинается со всех TextViews, имеющих «#» в качестве текста. Когда я нажимаю текстовое поле, оно изменяется на букву, которая была сохранена для этого поля.Простые сопоставляющие пары приложения, сравнивающие два TextViews
В любом случае, я хочу открыть два поля (я хочу изменить их строки) и сравнить их. Если они равны, они остаются «открытыми» новыми буквами (например, оба являются «А»). В случае с одинаковыми буквами все работает нормально, но у меня возникают трудности, когда буквы различаются.
Если они не равны, я хочу, чтобы они показывали себя с новым текстом в течение одной секунды, а затем, чтобы перейти к предыдущему знаку (т. Е. «#»). Когда я нажимаю первое поле, он меняет свой текст, но когда я иду за вторым полем, и если их сохраненные буквы не равны, второе поле не меняет текст, а текст из первого поля возвращается к предыдущему знаку ,
Что мне нужно сделать, чтобы показывать поля с новым текстом в течение короткого периода времени, если их строки не равны?
Это как моя таблица выглядит:
public class MainActivity extends AppCompatActivity {
TextView textView;
int counterForPressedFields= 0;
int textViewForComparationCounter = 0;
TextView firstTextViewForComparation;
TextView secondTextViewForComparation;
int[] nonPressedFields= {1, 1, 1, 1};
int pressedField = 2;
int tag = 0;
public void show(View view) throws InterruptedException {
textView = (TextView) view;
tag = Integer.parseInt(textView.getTag().toString());
if (nonPressedFields[tag] == 1) {
nonPressedFields[tag] = pressedField;
if (counterForPressedFields< 2) {
textViewForComparationCounter += 1;
counterForPressedFields+= 1;
switch (tag) {
case 0:
textView = (TextView) findViewById(R.id.front1);
textView.setText("A");
break;
case 1:
textView = (TextView) findViewById(R.id.front2);
textView.setText("B");
break;
case 2:
textView = (TextView) findViewById(R.id.front3);
textView.setText("A");
break;
case 3:
textView = (TextView) findViewById(R.id.front4);
textView.setText("B");
break;
}
if (textViewForComparationCounter == 1) {
firstTextViewForComparation = (TextView) view;
firstTextViewForComparation = textView;
} else if (textViewForComparationCounter == 2) {
secondTextViewForComparation= (TextView) view;
secondTextViewForComparation= textView;
}
}
if(counterForPressedFields == 2){
if(firstTextViewForComparation.getText().toString().equals(secondTextViewForComparation.getText().toString())){
counterForPressedFields= 0;
textViewForComparationCounter = 0;
}else{
firstTextViewForComparation.setText("#");
secondTextViewForComparation.setText("#");
nonPressedFields[Integer.parseInt(firstTextViewForComparation.getTag().toString())] = 1;
nonPressedFields[Integer.parseInt(secondTextViewForComparation.getTag().toString())] = 1;
counterForPressedFields= 0;
textViewForComparationCounter = 0;
}
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}