Android 比照IgnoreCase不';不能使用Strings.xml
在我的代码中,我有一个安装在设备上的所有应用程序的数组,我想在其中找到自己正在运行的应用程序。为此,我编写了以下代码:Android 比照IgnoreCase不';不能使用Strings.xml,android,xml,Android,Xml,在我的代码中,我有一个安装在设备上的所有应用程序的数组,我想在其中找到自己正在运行的应用程序。为此,我编写了以下代码: if (tmpPacs[I].packageName.compareToIgnoreCase("com.example.basiclauncher") == 0){ launcherPosition = I; } 这行代码工作得很好,但是,我想将com.example.basiclauncher“存储在strings.xml中的字符串中,如下所示: <strin
if (tmpPacs[I].packageName.compareToIgnoreCase("com.example.basiclauncher") == 0){
launcherPosition = I;
}
这行代码工作得很好,但是,我想将com.example.basiclauncher“存储在strings.xml中的字符串中,如下所示:
<string name="launcher_package">com.example.basiclauncher</string>
这不起作用,launcherPosition在整个代码执行过程中保持0,并且找不到正确的应用程序。当我回到第一行时,应用程序再次被找到。为什么会这样?如何使用strings.xml文件来实现这一点
编辑:
我刚刚意识到我试图在java类中使用xml代码,这显然是行不通的。感谢您的快速回复,getPackageName()是一个更加优雅的解决方案 要从xml中检索字符串,必须使用
getResources().getString(R.string.launcher\u包)
。您还可以通过getPackageName()
检索包名。要从xml检索字符串,必须使用getResources().getString(R.string.launcher\u package)
。您还可以通过getPackageName()
检索包名。您不能使用“@string/launcher\u package”
试试这个:
tmpPacs[I].packageName.compareToIgnoreCase(
getResources().getString(R.string.
launcher_package))
希望这有帮助。您不能使用“@string/launcher\u package”
试试这个:
tmpPacs[I].packageName.compareToIgnoreCase(
getResources().getString(R.string.
launcher_package))
希望这能有所帮助。您需要这样做
tmpPacs[1].packageName.compareToIgnoreCase(getResources().getString(R.string.launcher_package))代码>
您的代码实际上是将tmpPacs[I].packageName与字符串“@string/launcher\u package”进行比较,而不是与它所引用的字符串资源进行比较。您需要这样做
tmpPacs[1].packageName.compareToIgnoreCase(getResources().getString(R.string.launcher_package))代码>
您的代码实际上是将tmpPacs[I].packageName与字符串“@string/launcher\u package”进行比较,而不是将其引用的字符串资源进行比较