Android 如何使用从SharedReferences检索到的字符串
我的首选项活动显示了几个列表首选项。在启动此活动的类中,我监听SharedReferences上的任何更改,并使用getString(String键,String默认值)获取所选选项 当我检索这个字符串时,我需要根据它是什么字符串执行某些操作。但是,我将如何使用字符串。如果它是int,我可以使用switch case,但是如何处理字符串呢 除了使用if-else和String.equals来比较这两个字符串,还有其他方法吗?Android 如何使用从SharedReferences检索到的字符串,android,string,compare,sharedpreferences,Android,String,Compare,Sharedpreferences,我的首选项活动显示了几个列表首选项。在启动此活动的类中,我监听SharedReferences上的任何更改,并使用getString(String键,String默认值)获取所选选项 当我检索这个字符串时,我需要根据它是什么字符串执行某些操作。但是,我将如何使用字符串。如果它是int,我可以使用switch case,但是如何处理字符串呢 除了使用if-else和String.equals来比较这两个字符串,还有其他方法吗? 或者是否有方法检索所选位置而不是所选字符串 您可以将所有字符串与相应的
或者是否有方法检索所选位置而不是所选字符串 您可以将所有
字符串
与相应的int
值一起存储到哈希映射
中,然后在int
上设置一个开关
大小写
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());
}
查看值是否为String,它将抛出异常,并转到捕获块,以便
从首选项是字符串中理解计算。。你们有并没有相应地把东西放在挡块内
否则,如果值为int,则在中执行操作,然后尝试block如果必须使用int表示位置,则可以使用字符串数组和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;
}
}
你试过试抓块吗?使用Integer.parseInt(value)将值转换为int,如果值为int,则没有pblm,如果是String,则会得到相应的异常处理。。我认为你应该使用NumberFormatException