Проблема в том, что в вашем коде отсутствует состояние ПРЕДЫДУЩЕГО выбранного ViewFlipper. Я могу предоставить только частичный код, так как я не знаю остальную часть вашего кода.
в классе, в котором есть ваш фрагмент кода, метод public void onClick (View v) {", вы хотите иметь что-то вроде этого:
public class Puzzle extends Activity{ //or whatever your class is called
private int previousFlipperID = -1; //this stores the previous state of the flipper that was selected
@Override
public void onClick(View v) {
//.... your code, but modified
// changes
if(previousFlipperID == -1){
//this is the VERY FIRST CLICK, using -1 to denotate that nothing was previously selected
previousFlipperID = v.getId();
return;
}
// end changes
switch (v.getId()) {
case R.id.vf1:
try {
if (click) {
// changes
switch(previousFlipperID){
case 0:
//do your logic here that you stated. note that at this point in the code
// you are at the point where your PREVIOUS flipper was the first flipper
// and your CURRENT flipper is also the first one, since v.getId() is R.id.vf1
break;
case 1: //some logic, but the CURRENT flipper is the first flipper, while PREVIOUS flipper was the second flipper
...
case 7: //the previous flipper selected was the last flipper
break;
}
// end changes
Message msg = new Message();
msg.what = 1;
delayHandler.sendMessageDelayed(msg, DELAYTIME);
vFilpper1.showNext();
} catch (Exception e) {
e.printStackTrace();
}
counter++;
break;
// changes
previousFliperID = v.getId(); //update the previous flipper
// end changes
}
}
в моем коде, особенно ищите "// изменения". вы увидите, что я использовал целое число для хранения предыдущего флиппера. и затем способ, которым я проверяю, является ли это ПЕРВЫЙ раз, состоит в том, чтобы проверить, был ли предыдущий плавник -1 или нет. затем в конце убедитесь, что вы установили текущий идентификатор флиппера в качестве предыдущего идентификатора флиппера, чтобы в следующий раз обновить «предыдущий» идентификатор флиппера.
также, обратите внимание, что у меня там был вложенный оператор switch, потому что вам нужна куча дополнительных проверок, чтобы выполнить свою логику для того, что происходит, в зависимости от текущего и предыдущего флипперов.
ответ - в меру моих способностей в информации, которую мне сказали (а также в меру моего понимания), поэтому я надеюсь, что это поможет.
P.S. Я чувствую себя виноватым, сказав это, но если мой ответ был правильным, пожалуйста, пожалуйста, проверьте мой ответ, потому что мне на самом деле нужны баллы за щедрость, чтобы задавать вопросы, но я не думаю, что у меня достаточно баллов. Спасибо! и счастливых праздников