에 약간 문제가 있습니다. public void onBackPressed(). IF ELSE 문의 모든 것이 최종 ELSE를 제외하고는 정상적으로 작동합니다. 마지막 ELSE 명세서은 이라고 가정하고 앱을 닫지 만 그렇지 않습니다. 여기 누구든지 내가 이걸 고쳐 주도록 도와 줄 수 있니?IF ELSE 문에서 onBackPress가 제대로 작동하지 않습니다.
if(condition){
} else {
if(condition){
} else {
}
}
같은 조건을 사용
@Override
public void onBackPressed() {
int count = getFragmentManager().getBackStackEntryCount();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else if (mWebView.canGoBack()) {
//returns previous webpage
mWebView.goBack();
}else if (count == 0) {
//closes Fragment
getFragmentManager().popBackStack();
HomeFragment homefragment = new HomeFragment();
FragmentManager manager =getSupportFragmentManager();
manager.beginTransaction().replace(
R.id.relativelayout_for_fragment,
homefragment,
homefragment.getTag()).commit();
} else {
//Close app (Not working!!)
super.onBackPressed();
}
}
만약 내가 'else if (카운트! = 0)'이어야만한다면 세 번째 느낌이 강하다. – Shaishav
@Shaishav 나는 그 강한 감정을 나눈다. 대답으로 이동하면 제대로 반응을 보일 수 있습니다. – Vucko
네, 그렇습니다. 그러나 @Frances가 필요하다면 코드가 개선 될 필요가 있다고 생각합니다. 불려지는 팝백 스택을 보았지만 같은 시간에 현재 조각을 집으로 대체했습니다. 이것은 현명한 논리 또는 버그 중 하나입니다. – Ramit