我有几个列表首选项,我的首选项活动显示。从启动此活动的类中,我侦听共享首选项上的任何更改,并使用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;
}
}