Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';t在扩展视图的内部类中重写onCreateOptionMenu_Android - Fatal编程技术网

Android Can';t在扩展视图的内部类中重写onCreateOptionMenu

Android Can';t在扩展视图的内部类中重写onCreateOptionMenu,android,Android,我使用Java来创建视图,而不是XML。在扩展视图的内部类中,我不能覆盖onCreateOptionMenu和onOptionSelected。我已经导入了android.view.Menu和android.view.view。 为什么它不起作用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MyGraphicV

我使用Java来创建视图,而不是XML。在扩展视图的内部类中,我不能覆盖
onCreateOptionMenu
onOptionSelected
。我已经导入了
android.view.Menu
android.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;
    }
}

我已经为您的案例创建了一个新项目,它正在工作

您不需要创建额外的类来拥有
选项菜单

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

onCreateOptionMenu
活动的方法
而不是
视图
。在转向技术之前,请阅读Java的基础知识。@ADM@psikink您是对的,但我已经添加了一个答案,他不需要在
MainActivity
中创建类。他可以直接通过
选项菜单
获取信息,他需要在android官方网站上了解android的开发情况,但我正在尝试通过我的内部设置ContentViewclass@LuckyTuvshee你能告诉我们为什么需要按内部类设置
contentView
吗?嗯,这只是我的课程示例,我遵循了,但最后问了这里好的,但是如何把这称为内部类呢?我明白了,没有必要把这称为内部类。如果这是有效的,请让我的回答被接受。很高兴帮助你。如果您将
菜单
xml
一起使用会更好,因为您可以更容易地将它们用于
selectedItems
中,然后执行一个操作或类似操作。