如何使用从共享首选项中检索到的字符串



我有几个列表首选项,我的首选项活动显示。从启动此活动的类中,我侦听共享首选项上的任何更改,并使用getString(字符串键,字符串默认值)来获取所选选项。

当我检索此字符串时,我需要根据它是什么字符串执行某些操作。但是,我将如何使用字符串。如果它是一个整数,我可以使用开关大小写,但我该如何处理字符串?

除了使用 if-else 和使用 String.equals 来比较 2 个字符串之外,还有其他方法吗?或者有没有办法检索所选位置而不是选定的字符串?

您可以将

所有String与相应的int值一起存储到HashMap中,然后在int上有一个switch案例。

    int k = 0;
    String i = "Namratha"; // replace the value from Shared Preference
    try {
        k = Integer.parseInt(i);
    } catch (Exception e) {
        Log.v("Exception**********", e.getMessage());
    }

查看值是否为字符串,它将抛出异常并转到捕获块,以便您可以从偏好中理解卡路里是字符串。你是否相应地塞进了捕获块..

否则,如果值为 int,则在 try block 中做你的东西。

如果必须有一个表示位置的 int,则可以使用 String 数组和 Arrays.binarySearch 方法

private static final String[] VALUES = { "a", "b", "c", "d", "e" };
public void processSelection( String selectedValue ) {  
    int pos = Arrays.binarySearch( VALUES, selectedValue );
    switch (pos) {
    case 0:
        ... 
    break;
    default:
        break;
    }
}

相关内容

  • 没有找到相关文章

最新更新