无法覆盖扩展View的内部类内的onCreateOptionMenu

时间:2019-02-25 13:01:49

标签: android

我正在使用Java创建View而不是XML。在扩展View的内部类中,我无法覆盖onCreateOptionMenuonOptionSelected。我已经导入了android.view.Menuandroid.view.View。 为什么不起作用?

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(new MyGraphicView(this));
}

@Override // method doesn't override from its superclass
public class MyGraphicView extends View
{
    public boolean onCreateOptionMenu(Menu menu)
    {
        super.onCreateOptionsMenu(menu); // error occures here
        menu.add(0, 1, 0, "Drawing line");
        menu.add(0, 2, 0, "Drawing circle");
        return true;
    }
}

1 个答案:

答案 0 :(得分:0)

我已经为您的案例创建了一个新项目,并且正在运行。

您无需创建额外的类即可拥有OptionsMenu

public class MainActivity extends AppCompatActivity {

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


@Override
public boolean onCreateOptionsMenu(Menu menu) {
     menu.add(0, 1, 0, "Drawing line");
    menu.add(0, 2, 0, "Drawing circle");
    return super.onCreateOptionsMenu(menu);
}
}