java - 在菜单的开关盒中使用字符串?

标签 java android switch-statement

我目前正在为一个论坛制作一个应用程序,我正在添加一个 Collection 夹部分,您可以在其中添加您喜欢的部分以便快速访问。我有一个菜单设置,其中包含不同部分的列表,所以我所做的是制作一个开关盒来决定在按下某个菜单项时要做什么,在本例中为部分。通过这样做,我了解到不能将字符串与 switch case 一起使用,所以我的问题是如何确定按下了哪个按钮并根据按下的按钮执行操作?

这是我的菜单代码:

public class Menu extends ListActivity{

String[] classes = {"Home", "Gaming", "Microsoft Consoles", 
        "Sony Consoles", "Other Platforms", "Tech Center", "General"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    switch (classes) {
    case "Home":

    break; 
    case "Gaming".hashCode(): 

    break; 
    }   
}
}

我得到一个错误,因为类是一个 String[],我不能将它与 switch case 一起使用,那么有没有办法做到这一点,或者有其他选择?

最佳答案

switch 语句中的字符串是在 Java 7 中添加的。例如,看一下 here .由于 Android 开发目前不基于 Java 7 语法,因此您必须另辟蹊径。这意味着:if-else 语句。他们不是最漂亮的,但他们会完成工作。

关于java - 在菜单的开关盒中使用字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620517/

相关文章:

java - listview 在 fragment 中看不到 propaly

parsing - Haskell 中 read 函数的大小写匹配

Android 首选项如何使用 switch 语句

java - finish() 未按预期工作

java - 获取PDFBox中某个字符的字体高度

android - 编译和引擎项目时出错

java - 从打印循环中排除日期

java - 从另一个 Activity 获取textView的文本

java - 将 float 存储为 long 类型

android - 需要分析来自 Android Wear 的数据