그냥 다른 답변에 무언가를 추가하는 것입니다.
의 우리는 우리가 일을 통해 틀지 만 두 개의 뷰 있다고 가정 해 봅시다 :
public void onBackPressed() {
if (mViewFlipper.getDisplayedChild() == 1) {
mViewFlipper.setDisplayedChild(0);
} else if (mViewFlipper.getDisplayedChild() == 0) {
flipView.setDisplayedChild(1);
}
}
충분하지입니다. 사실, 그것은 당신을 위해 또 다른 문제를 만듭니다. 보기가 0 (첫 번째) 인 경우 뒤로 단추를 누르면 아무것도 표시되지 않습니다. 활동이 종료되지 않습니다. 이는 super.onBackPressed()
을 호출하지 않았기 때문입니다. 위 코드에 super.onBackPressed()
을 추가하면 다른 문제가 발생합니다. 1 (두 번째보기)에서 플립하면 첫 번째보기 (0)로 이동 한 다음 활동을 종료합니다. 한 활동에서 다른 활동으로 전환하는 동안보기를 건너 뛰는 별난 애니메이션이 아닌 다른 경우에는 잘못된 것입니다.
가 포함 된 활동에 대한 onBackPressed()
을 구현하는 가장 좋은 방법 ViewFlipper
은이 :
public void onBackPressed() {
int displayedChildId = mViewFlipper.getDisplayedChild(); //get current view's number
if (displayedChildId > 0) { //if this number is greater than 0(let's say 5)
mViewFlipper.setDisplayedChild(displayedChildId - 1);//We then go down that number by 1. That is 5 - 1, which is 4. This happens until displayedChildId isn't greater than 0 anymore, which is then the first view. if we press back from here, we exit the activity.
} else {
super.onBackPressed();
}
}
나는 이것이 의미
일부 코드가 죄송이 문제 ... – Devunwired
를 진단되는 가장 도움이 될 것입니다 만드는 희망 문제 해결 (버그 발견), 두 번째 페이지에서 editText의 포커스를 설정하면 뒤로 버튼이 더 이상 작동하지 않습니다. – Giuseppe