代码之家  ›  专栏  ›  技术社区  ›  user2101411

Android操作栏响应用户

  •  0
  • user2101411  · 技术社区  · 10 年前

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

    我查看了谷歌提供的文档,上面说应该根据用户的操作调用这些方法。我错过了什么吗?

    错误消息区域:

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

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

    任何帮助都将不胜感激!

    谢谢

    2 回复  |  直到 10 年前
        1
  •  2
  •   Marcus    10 年前

    您尚未定义方法 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
    }
    
        2
  •  1
  •   Sujit Devkar    10 年前

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

    目前,编译器不知道类中是否存在这样的方法签名。您需要在类中定义函数,然后使用它们。我想这会很好的。