"Method does not override or implement a method from a supertype"



我刚开始在Android Studio中,我想制作一个音板,但是当我运行代码时,我不断收到此错误("Method does not override or implement a method from a supertype")。

public class MainActivity extends AppCompatActivity
{
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) { ... }        
Button bt1;
@Override
protected void onCreate2(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1 = (Button) findViewById(R.id.asta_e);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.sample);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
}
});
}
...
}

答案相当简单,@Override标记添加编译时检查以查看方法是否覆盖了超类中的方法。

而且由于在任何Android的活动类中都没有onCreate2()方法(此处AppCompatActivity),因此您无法覆盖它。

您必须删除@Override标记才能使代码编译,但是onCreate2()永远不会执行。为此,请查看 Android Activtiy 生命周期。OnCreate()在创建活动时被调用,并且该方法中的代码将在此时执行。

你不能只是把随机方法放到一个类中,然后认为它们会被执行。它们必须从某个地方调用,在您的情况下onCreate()从其超类中调用,但onCreate2()永远不会被调用,也不会使用错误的@Override标签进行编译。

相关内容

最新更新