Android操作栏响应用户

时间:2015-03-19 15:16:28

标签: android android-actionbar

我在Android中的应用程序遇到了一些问题。我试图回应用户按下的按钮。这是方法:

 public boolean onOptionsItemSelected(MenuItem item) {
     switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;

        case R.id.action_settings:
            openSettings();
            return true;

        default:
            return super.onContextItemSelected(item);
    }     
 }

我正在查看Google提供的有关此内容的文档,并说应根据用户的操作调用这些方法。我错过了什么吗?

错误消息区域:

错误:(42,17)错误:找不到符号方法openSearch()

错误:(46,17)错误:无法找到符号方法openSettings()

任何帮助将不胜感激!

由于

2 个答案:

答案 0 :(得分:2)

您尚未在定义openSettings()的活动中定义方法openSearch()onOptionsItemSelected

结果是编译器会告诉你cannot find symbol method openSearch()cannot find symbol method openSettings()

您只需在Activity中添加方法声明:

private void openSettings(){
    //Execute relevant code
}

private void openSearch(){
    //Execute relevant code
}

答案 1 :(得分:1)

按钮按下事件不会执行上述功能。当用户从菜单中选择一个项目时执行。

目前,编译器不知道类中是否存在此类方法签名。您需要在类中定义函数,然后使用它们。我想它会正常工作。