23

我刚刚开始学习 Android 初学者教程,现在我遇到了一个问题。在此页面上的“响应操作按钮”下,它告诉我定义一个 switch 语句,其中包含一些调用openSearch()openSettings()方法的选项。然而,这些方法尚未定义(duh),因此给了我一个错误。

然而,本教程没有说明如何定义它们。谁能给我一个关于我应该定义什么以及在哪里定义这些方法的指针?它们是否应该在同一个文件中,如果是,它们应该包含什么?

4

3 回答 3

61

这些方法只是 Google 用来展示如何使用 switch 语句的示例。你可以在里面放任何你想要的东西,但我认为重点是从 switch 语句中调用函数,而不是把函数的代码放在语句中,以保持代码干净。这些函数可能会以某种方式在同一个 .java 文件中声明,例如

private void openSearch() {
    // start or show the search activity/fragment
}

从技术上讲,它们可以包含您希望它们包含的任何内容,具体取决于您希望操作栏按钮执行的操作。如果您只是想查看按钮是否正常工作,您可以启动 Toast 通知以查看出现的内容

private void openSearch() {
    Toast.makeText(this, "Search button pressed", Toast.LENGTH_SHORT).show();
}

您必须导入 Toast 包,这可以通过Ctrl+Shift+O. (或者Cmd+Shift+O对于 Mac)

希望这有助于消除混乱。

于 2013-09-10T19:22:35.923 回答
6

这是您必须在这些方法中使用的代码:

private void openSearch(){
    startActivity(new Intent(SearchManager.INTENT_ACTION_GLOBAL_SEARCH));
}

private void openSettings(){
    startActivity(new Intent(Settings.ACTION_SETTINGS));
}

openSearch() 方法执行手机的 google 全局搜索。openSettings() 方法打开手机的全局配置。

我也是android的初学者,希望这有助于解决这个问题。祝你好运

于 2015-01-15T17:43:44.003 回答
1

drees(感谢 Toast)回答了这个问题,让刚开始的 android 程序员(我是)感到满意,但要真正回答这个问题,您需要按照设置搜索界面 文章中的说明进行操作,但是您需要抢先了解如何将此处注释的材料放入 switch 语句的 openSearch() 方法中。

不过,我想真正的问题是:为什么android教程使用这种方法,而不是根据情况需要使用非线性解释来添加真实内容,或者至少链接到它以遵循它,或者至少让你知道你'将获得一个充其量是损坏代码的最终产品。

于 2014-11-27T09:26:31.940 回答