2017-01-25 3 views
0

그냥 onBackPressed()를 다시 작성하려고 시도했지만 지우개가있는 코드에는 없습니다. 따라서 재정의 된 onBackPressed()의 텍스트가 무시됩니다.안드로이드 어노테이션으로 @Override가 작동하지 않습니까?

@EActivity(R.layout.activity_before_test_warning) 
public class BeforeTestWarningActivity extends AppCompatActivity { 
    @Override 
    public void onBackPressed() { 
     Toast.makeText(this, "onBackPressed", Toast.LENGTH_SHORT).show(); 
     finish(); 
    } 
} 

이 코드를 사용하면 "뒤로"화살표가 정상적으로 작동합니다. 즉, 새 상위 활동이 생성되고 표시되지 않습니다. 왜?

사용자가 이동을 더 이상 확인하지 않았지만 어떤 종류의 실수를 편집하기 위해 "뒤로"를 누른 경우 채워진 양식으로 이전 페이지로 돌아가고 싶습니다.

+0

현재 사용중인 활동에서 'onBackPressed()'를 재정의해야합니다. –

+0

가능한 중복 된 [onBackPressed() 메서드가 AppCompatActivity에서 트리거되지 않음] (http://stackoverflow.com/questions/31681141/onbackpressed-method-not-triggered-in-appcompatactivity) –

+0

위의 코드는 정상적으로 작동하지만 위를 통과 할 수 있습니까? ActivityName. 이것은 단지 this가 아니라 makeText 메쏘드에 있습니다. '@Click \t 무효 BTCANCEL() { \t \t : –

답변

0

은 어떤 방식으로 @Override 또는 onBackPressed()을 수정하지 않습니다()

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     Toast.makeText(this, "onBackPressed", Toast.LENGTH_SHORT).show(); 
     finish(); 
} 
+0

고마워,하지만 standart 동작을 사용하고 싶지 않습니다. 나는 이전의 활동으로 되돌아 가야한다. – Eugene

+0

예, superBack을 호출하여 onBackPressed를 재정의하면 이전 활동으로 돌아갑니다. super.onBackPressed();를 수행 한 후에 코드를 넣을 수 있으면이 동작을 변경할 수 있습니다. –

+0

문제는 android annotation을 사용할 때이 모든 메소드가 무시된다는 것입니다. 토스트 "onBackPressed"최신 쇼. – Eugene

0

AndroidAnnotations을 super.onBackPressed를 추가하려고합니다.

사건에 대한 onBackPressed()을 무시하는 올바른 방법은 이것이다 : 그것은 당신의 Fragment의 터지는 및 Activity 전환을 실행처럼, 필요한 일을하기 때문에

@Override 
    public void onBackPressed() { 
     Toast.makeText(this, "onBackPressed", Toast.LENGTH_SHORT).show(); 

     super.onBackPressed(); 
    } 

당신은 super.onBackPressed()를 호출해야합니다. 그리고 마지막으로 finish()으로 전화 할 것입니다.

관련 문제