java Android Studio:@Override“此处不允许使用注释”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/37405326/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 02:27:57  来源:igfitidea点击:

Android Studio: @Override "Annotations are not allowed here"

javaandroidannotationsoverriding

提问by

I want to implement the ...

我想实施...

@Override
    public void onBackPressed() {
     }

However, I get an error message saying, "Annotations are not allowed here". I need this method to be implemented here. Is there an alternative?

但是,我收到一条错误消息,说“此处不允许使用注释”。我需要在这里实现这个方法。有替代方案吗?

public class supbreh extends Appbreh

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_intent_breh);

 if (myBundle != null) {

        String name =  myBundle.getString("workout");
        ShowDetails(name);
    }
}

 private void ShowAbDetails(String mName) {


    if(mName.equals("abs1")){


        @Override
        public void onBackPressed() {  //"Not Allowed here"

        }

}

回答by IntelliJ Amiya

void onBackPressed ()

Called when the activity has detected the user's press of the back key. The default implementation simply finishes the current activity, but you can override this to do whatever you want.

当活动检测到用户按下后退键时调用。默认实现只是完成当前活动,但您可以覆盖它以执行任何您想要的操作。

In here you can't declare this method inside another method .

在这里你不能在另一个方法中声明这个方法。

Only override it in that one Activity

只在那个 Activity 中覆盖它

@Override
public void onBackPressed()
{
    super.onBackPressed();  
}

FYI

供参考

    @Override
    public void onBackPressed() {

    Intent intent = new Intent(IndividualAbsWorkout.this, IndividualAbsWorkout.class);
    startActivity(intent);
    }

回答by umuieme

You can override onBackPressed as normal and call the method in ShowAbDetails() method like below.

您可以正常覆盖 onBackPressed 并调用 ShowAbDetails() 方法中的方法,如下所示。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intent_breh);

 if (myBundle != null) {
    String name =  myBundle.getString("workout");
    ShowDetails(name);
 }

}

private void ShowAbDetails(String mName) {

    if(mName.equals("abs1")){
      onBackPressed();
    }
}


@Override
public void onBackPressed() {  
   // your logic here
}