@Override不能与android注释一起使用?

时间:2017-01-25 10:37:26

标签: android android-annotations

我只是尝试重写onBackPressed(),但它在geerated代码中不存在,因此我的overBided onBackPressed()中的文本忽略了。

@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();
    }
}

使用此代码“返回”箭头触摸正常运行,即创建新的父活动和烤面包不显示。为什么呢?

如果用户没有进一步确认移动,我只想返回填写表格的上一页,但按“返回”编辑某种错误。

2 个答案:

答案 0 :(得分:0)

尝试添加super.onBackPressed()

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

答案 1 :(得分:0)

AndroidAnnotations不会以任何方式修改@OverrideonBackPressed()

为您的案例覆盖onBackPressed()的正确方法是:

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

      super.onBackPressed(); 
  }

您必须致电super.onBackPressed(),因为它会执行必要的操作,例如弹出Fragment和运行Activity转换。最后它会调用finish()