我在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()
任何帮助将不胜感激!
由于
答案 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)
按钮按下事件不会执行上述功能。当用户从菜单中选择一个项目时执行。
目前,编译器不知道类中是否存在此类方法签名。您需要在类中定义函数,然后使用它们。我想它会正常工作。